Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. (DEFUN DIFF-POL (DT DX)
  2. (COND ((NULL DT) NIL)
  3. ((ATOM DT) (DIFF-POL-ATOM DT DX))
  4. ((AND (LISTP DT) (EQL (CAR DT) '-)) (DIFF-POL-ATOM (CADR DT) DX))
  5. ((AND (LISTP DT) (EQL (CAR DT) '*)) (DIFF-POL-PROD (CADR DT) (CADDR DT) DX))
  6. ((AND (LISTP DT) (EQL (CAR DT) 'EXPT)) (DIFF-POL-EXPT (CADR DT) (CADDR DT) DX))
  7. ((AND (LISTP DT) (EQL (CAR DT) '+)) (DIFF-POL-SUMME (CDR DT) DX))
  8. (T NIL)
  9. )
  10. )
  11.  
  12. (DEFUN DIFF-POL-ATOM (DT DX)
  13. (COND ((EQL DT DX) 1)
  14. (T 0)
  15. )
  16. )
  17.  
  18. (DEFUN DIFF-POL-PROD (KO V DX)
  19. (COND ((EQL V DX) KO)
  20. ((LISTP V) (LIST '* KO (DIFF-POL V DX)))
  21. (T 0)
  22. )
  23. )
  24.  
  25. (DEFUN DIFF-POL-EXPT (V EXP DX)
  26. (COND ((NOT (EQL V DX)) 0)
  27. ((NOT (NUMBERP EXP)) (LIST '* EXP (LIST 'EXPT V (LIST '- EXP 1))))
  28. ((= EXP 1) 1)
  29. ((= EXP 2) (LIST '* '2 V))
  30. (T (LIST '* EXP (LIST 'EXPT V (- EXP 1) )))
  31. )
  32. )
  33.  
  34. (DEFUN DIFF-POL-SUMME (DT DX)
  35. (COND ((= (LENGTH DT) 1) (DIFF-POL (CAR DT) DX))
  36. (T (CONS '+ (DIFF-POL-SUMME-R DT DX)))
  37. )
  38. )
  39.  
  40. (DEFUN DIFF-POL-SUMME-R (DT DX)
  41. (COND ((NULL DT) NIL)
  42. ((AND (NUMBERP (DIFF-POL (CAR DT) DX)) (= (DIFF-POL (CAR DT) DX) 0)) (DIFF-POL-SUMME-R (CDR DT) DX))
  43. (T (CONS (DIFF-POL (CAR DT) DX) (DIFF-POL-SUMME-R (CDR DT) DX)))
  44. )
  45. )
  46. (DIFF-POL 1 'X);->0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement