Advertisement
Guest User

diff

a guest
Apr 14th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.24 KB | None | 0 0
  1. % verkettete Funktionen : trig
  2. diff(sin(Y),X,IN*cos(Y)) :- X\=Y, diff(Y,X,IN).
  3. diff(cos(Y),X,IN*(-sin(Y))) :- X\=Y, diff(Y,X,IN).
  4. diff(tan(Y),X,IN*sin(Y)/cos(Y)) :- X\=Y, diff(Y,X,IN).
  5. %  Haupt-Differensations-regeln
  6. diff(X,X,1).
  7. diff(C,X,0) :- number(C), X\==C.
  8. diff(C*X,X, C) :- number(C), X\==C.
  9. % Potenz
  10. diff(X^N,X,N*X^Z):- Z is N-1, number(N).
  11. diff(K*X^N,X,K*N*X^Z):- Z is N-1, number(N), number(K).
  12. diff(e^X,X,e^X).
  13. diff(e^N*X,X,N*e^N*X):- number(N).
  14. % verkettet: polynom mit potenz
  15. diff(P^N, X, DP*(P^Z)*N) :- P\=X, Z is N-1, diff(P,X,DP).
  16. % sum and dif
  17. diff(A+B,X,DFX+DFY) :- diff(A,X,DFX),diff(B,X,DFY).
  18. diff(A-B,X,DFX-DFY) :- diff(A,X,DFX),diff(B,X,DFY).
  19. diff(-F,X,-DF) :- diff(F,X,DF).
  20. % trigon
  21. diff(sin(X),X,cos(X)).
  22. diff(cos(X),X,-sin(X)).
  23. diff(tan(X),X,sin(X)/cos(X)).
  24. % vereinfachung
  25. s0(X*X,X^2) :- not(number(X)).
  26. s0(1*X,X).
  27. s0(X*1,X).
  28. s0(X/1,X).
  29. s0(0+X,X).
  30. s0(X+0,X).
  31. s0(0*_,0).
  32. s0(_*0,0).
  33. s0(0/_,0).
  34. s0(N*X^1,N*X) :- number(N).
  35. s0(X,X).
  36. % recursive vereinfachung
  37. s(A+B,X) :- s(A,E1),s(B,E2),s0(E1+E2,X).
  38. s(A-B,X) :- s(A,E1),s(B,E2),s0(E1-E2,X).
  39. s(A*B,X) :- s(A,E1),s(B,E2),s0(E1*E2,X).
  40. s(A/B,X) :- s(A,E1),s(B,E2),s0(E1/E2,X).
  41. s(X,X).
  42.  
  43. % abfrage fuer ableitung
  44. ds(F,X,DF) :- diff(F,X,S),s(S,REC),s0(REC,DF).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement