PROGRAM 8
; FILENAME: PROGRAM8.LSP AUTHOR: ANTHONY F. ORTIZ ; SYMBOLIC DIFFERENTIATION PROGRAM (DEFUN DERIV (U X) (COND ; RULES 1 AND 2: D/DX (X) AND D/DX (C) ((ATOM U) (IF (EQ U X) 1 0)) ; RULES 3 AND 4: D/DX (F + G) AND D/DX (F - G) ((OR (EQ (FIRST U) '+) (EQ (FIRST U) '-)) (LIST (FIRST U) (DERIV (SECOND U) X) (DERIV (THIRD U) X))) ; RULE 5: D/DX (F * G) ((EQ (FIRST U) '*) (LIST '+ (LIST (FIRST U) (THIRD U) (DERIV (SECOND U) X)) (LIST (FIRST U) (SECOND U) (DERIV (THIRD U) X)))) ; RULE 6: D/DX (F / G) ((EQ (FIRST U) '/) (LIST '/ (LIST '- (LIST '* (THIRD U) (DERIV (SECOND U) X)) (LIST '* (SECOND U) (DERIV (THIRD U) X))) (LIST '* (THIRD U) (THIRD U)))) ; RULE 7: THE CHAIN RULE, I.E. D/DX (F ^ N) ((EQ (FIRST U) '^) (LIST '* (LIST '* (THIRD U) (IF (EQ (THIRD U) 2) (SECOND U) (LIST (FIRST U) (SECOND U) (- (THIRD U) 1)))) (DERIV (SECOND U) X))) ; RULE 8: D/DX LN (F(X) = 1 / F(X) * F'(X) ((EQ (FIRST U) 'LN) (LIST '* (LIST '/ '1 (SECOND U)) (DERIV (SECOND U) X))) (T NIL))) ; OUTFILE: PROG8.OUT XLISP version 2.0, Copyright (c) 1988, by David Betz ; loading "init.lsp" > (load "program8.lsp") ; loading "program8.lsp" T > (deriv '(^ x 3) 'x) (* (* 3 (^ X 2)) 1) >
BACK TO CS3120 PAGE.