Απλά μαθηματικά με LISP

2010 Dec 03

Μέσος όρος

Μια απλή συνάρτηση μέσου όρου.

(defun average (nums)
 (/ (reduce #'+ nums)
  (length nums)))

μερικά παραδείγματα:

> (average '(1 2 3 4))
5/2
> (average (loop for i to 100 collect i))
50
> (average '(#C(0 1) 1 ))  ; Μιγαδικοί
#C(1/2 1/2)

Παραγώγιση

Θα φτιάξουμε μια συνάρτηση d που θα δέχεται μια έκφραση και μια μεταβλητή παραγώγισης και θα μας επιστρέφει την παράγωγο της έκφρασης, ως εξής:

Διαβάζουμε την έκφραση

που είναι της μορφής (πράξη έκφραση-1 [έκφραση-2]). Πχ.το $$\sin(x) + x$$ είναι (+ (sin x) x), άρα

See Also