Ror*_*ach 4 lisp common-lisp computer-algebra-systems maxima
我想(make-array '(4 3 8))在maxima中使用,这基本上是生成multi-d矩阵,因为我无法找到API来创建包含的多d矩阵array(name,d1,d2...dm).
我可以使用它来执行它,:lisp (make-array '(4 3 8))但我不知道如何将它标记为类似的东西,
arr: :lisp(make-array '(4 3 8))
我还想知道是否可以在maxima函数中使用lisp代码.任何形式的帮助都应得到高度重视.
要在Lisp代码中创建一个与之完全相同的命名数组array(name, d1, d2, ..., dm),请写:
(mfuncall '$array name d1 d2 ... dm)
Run Code Online (Sandbox Code Playgroud)
您不能直接在Maxima函数中包含Lisp代码.但是你可以调用Lisp函数.如果命名了lisp函数$foo,那么在Maxima中它是foo; 如果在Lisp中foo,那么在Maxima中就是这样?foo.例如:
:lisp (defun $foo (x) ...)
f(x) := print (foo (x));
Run Code Online (Sandbox Code Playgroud)
顺便说一句,Maxima对数组的处理仍然是一团糟...也许有一天我们会清理它.