3

我需要得到 N x 列 (L) 的 Legendre 多项式矩阵,在 L 上对任意 N 进行评估。

有没有比仅仅明确地评估每一行的多项式向量更好的方法来计算矩阵?这种方法(N = 4)的代码片段在这里:

L = linspace(-1,1,800);

# How to do this in a better way?
G = [legendre_Pl(0,L); legendre_Pl(1,L); legendre_Pl(2,L); legendre_Pl(3,L)];

谢谢, 沃伊塔

4

1 回答 1

2

创建一个匿名函数。http://www.gnu.org/software/octave/doc/interpreter/Anonymous-Functions.html上的文档

f = @(x) legendre_Pl(x,L);

然后使用 arrayfun 将函数应用f到数组[1:N]文档http://www.gnu.org/software/octave/doc/interpreter/Function-Application.html

CellArray = arrayfun(f, [1:N], "UniformOutput", false);

这给了你一个单元格数组。如果您想要矩阵中的答案,请使用cell2mat

G = cell2mat(CellArray);
于 2013-10-19T21:25:36.570 回答