2012-07-05 66 views
3

在Maxima中有一些函數接受像diag_matrix(a1,a2,...,an)這樣的可變參數,它用於創建對角線元素的對角矩陣爲a1,...,如何將列表作爲Maxima中的變量參數傳遞函數?

但是,目前我有一個[a1,a2,... an]的列表,並想從中創建一個對角矩陣。 diag_matrix不能直接接受列表;無論如何利用diag_matrix創建矩陣?

回答

3

通常,表達式apply(foo,[a1,...,an])將函數foo應用於參數列表[a1,...,an]。

特別地,apply(diag_matrix,[a1,...,an])將diag_matrix應用於[a1,...,an]。我認爲這就是你想要的。

請注意,apply會評估其所有參數,即使foo引用其參數,或者foo評估爲非自身參數。因此,馬克西瑪有一個「應用失敗引用」的成語,這通常很有用。

+0

這正是我所期待的,非常感謝 – user1503057

相關問題