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

Posted

技术标签:

【中文标题】如何在 Maxima 中将列表作为变量参数函数传递?【英文标题】:How to pass list as variable arguments function in Maxima? 【发布时间】:2012-07-05 12:48:48 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

请注意,即使 foo 引用了它的参数,或者 foo 计算的结果不是它自己,apply 也会计算它的所有参数。因此,Maxima 中有一个“应用失败引用”的成语,这通常很有用。

【讨论】:

以上是关于如何在 Maxima 中将列表作为变量参数函数传递?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中将列表作为函数的输入传递

在函数c ++中将变量作为默认参数传递[重复]

在 PHP 中将数组作为参数而不是数组传递

我如何在Elixir中将列表作为参数传递?

在bash中将数组作为参数传递

如何在 CloudFormation 中将字符串列表作为参数传递?