离散Legendre多项式的Octave矩阵

时间:2013-08-02 03:29:51

标签: matrix octave discretization

我需要得到N个列(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)];

谢谢, Vojta开发

1 个答案:

答案 0 :(得分: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);