list - 如何在 Maxima 中将列表作为变量参数函数传递?

标签 list variables arguments maxima

在 Maxima 中,有一些函数接受变量参数,例如 diag_matrix( a1,a2,...,an),用于创建对角线元素为 a1,...,an 的对角矩阵

但是,目前我有一个 [a1,a2,..an] 列表,并想从中创建一个对角矩阵。 diag_matrix 不能直接接受列表;无论如何,有没有利用 diag_matrix 来创建矩阵?

最佳答案

一般来说,表达式 apply(foo, [a1, ..., an]) 将函数 foo 应用于参数列表 [a1, ..., an]。

特别是,apply(diag_matrix, [a1, ..., an]) 将 diag_matrix 应用于 [a1, ..., an]。我认为这就是您想要的。

请注意,apply 会计算其所有参数,即使 foo 引用其参数,或者 foo 计算结果为除自身之外的其他值。因此,Maxima中有一个“应用胜于引用”的成语,这常常很有用。

关于list - 如何在 Maxima 中将列表作为变量参数函数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11338847/

相关文章:

java - 如何处理List<Tuple>

Python:在多个列表中查找相同的项目

variables - 如何将 nginx 变量 $cookie 与点 cookie 一起使用,例如 "foo.bar"

java - 如何通过 JavaFX 应用程序将变量传递给 Controller ​​?

python :TypeError: this constructor takes no arguments

c# - Count() (linq 扩展名)和 List<T>.Count 之间有区别吗

java - 如何使用java流在每次迭代中使用当前和下一个对象对列表进行分区?

javascript - 如何使无法通过浏览器控制台更改变量

r - 使用 forms() 更改其他人编写的 R 函数的默认参数时如何处理省略号 (...)

c++ - 获取类的构造函数参数