如何在lisp中执行矢量计算,例如矢量的大小,矢量的范数,距离(两点之间),点积,叉积等.
谢谢.
(defun (matrix-add m1 m2)
(defun (matrix-add-row r1 r2 res-row)
(if (and (not (null? r1)) (not (null? r2)))
(matrix-add-row (cdr r1) (cdr r2)
(cons (+ (car r1) (car r2)) res-row))
(reverse res-row)))
(defun (matrix-add-each m1 m2 res)
(if (and (not (null? m1)) (not (null? m2)))
(let ((res-row (matrix-add-row (car m1) (car m2) ())))
(matrix-add-each (cdr m1) (cdr m2) (cons res-row res)))
(reverse res)))
(matrix-add-each m1 m2 ()))
Run Code Online (Sandbox Code Playgroud)
嗨我在一张纸上添加了矩阵,但是当我输入lisp时它现在正在工作..出了什么问题?