Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % verkettete Funktionen : trig
- diff(sin(Y),X,IN*cos(Y)) :- X\=Y, diff(Y,X,IN).
- diff(cos(Y),X,IN*(-sin(Y))) :- X\=Y, diff(Y,X,IN).
- diff(tan(Y),X,IN*sin(Y)/cos(Y)) :- X\=Y, diff(Y,X,IN).
- % Haupt-Differensations-regeln
- diff(X,X,1).
- diff(C,X,0) :- number(C), X\==C.
- diff(C*X,X, C) :- number(C), X\==C.
- % Potenz
- diff(X^N,X,N*X^Z):- Z is N-1, number(N).
- diff(K*X^N,X,K*N*X^Z):- Z is N-1, number(N), number(K).
- diff(e^X,X,e^X).
- diff(e^N*X,X,N*e^N*X):- number(N).
- % verkettet: polynom mit potenz
- diff(P^N, X, DP*(P^Z)*N) :- P\=X, Z is N-1, diff(P,X,DP).
- % sum and dif
- diff(A+B,X,DFX+DFY) :- diff(A,X,DFX),diff(B,X,DFY).
- diff(A-B,X,DFX-DFY) :- diff(A,X,DFX),diff(B,X,DFY).
- diff(-F,X,-DF) :- diff(F,X,DF).
- % trigon
- diff(sin(X),X,cos(X)).
- diff(cos(X),X,-sin(X)).
- diff(tan(X),X,sin(X)/cos(X)).
- % vereinfachung
- s0(X*X,X^2) :- not(number(X)).
- s0(1*X,X).
- s0(X*1,X).
- s0(X/1,X).
- s0(0+X,X).
- s0(X+0,X).
- s0(0*_,0).
- s0(_*0,0).
- s0(0/_,0).
- s0(N*X^1,N*X) :- number(N).
- s0(X,X).
- % recursive vereinfachung
- s(A+B,X) :- s(A,E1),s(B,E2),s0(E1+E2,X).
- s(A-B,X) :- s(A,E1),s(B,E2),s0(E1-E2,X).
- s(A*B,X) :- s(A,E1),s(B,E2),s0(E1*E2,X).
- s(A/B,X) :- s(A,E1),s(B,E2),s0(E1/E2,X).
- s(X,X).
- % abfrage fuer ableitung
- ds(F,X,DF) :- diff(F,X,S),s(S,REC),s0(REC,DF).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement