MATLAB legendre函数返回一个数组

时间:2013-12-12 08:51:10

标签: matlab math

我正在使用书中的方程式,当我使用Mathematica来解决它时它起作用。它基本上包含某些勒让德多项式阶的积分。例如。 P_1(x),P_2(x),P_3(x)。

当我将Mathematica用于特定情况时,例如

LegendreP[3, 0.5]

我得到了

-0.4375

允许我继续我的评估。但在MATLAB中,我得到了:

>> legendre(3,0.5)
ans =
-0.4375
-0.3248
5.6250
-9.7428

第一个返回的值总是正确的,但随后它吐出......我想其他系数?所以我想要做的就是告诉MATLAB返回第一个值。有没有办法在不事后将其分配给自己的变量的情况下执行此操作?例如。

之类的东西
legendre(3,0.5)(1)   

显然不会工作,因为它还没有存在于内存中。我是否正确地采取了这种方式?

由于

1 个答案:

答案 0 :(得分:3)

如果它困扰您,只需将legendre放入新功能legendre1,这样您就可以使用库功能,但具有所需的功能。

function [ P ] = legendre1( n,X )
P = legendre(n,X);
P = P(1);
end

或实施自定义范围:

function [ P ] = legendre1( n,X,range )
P = legendre(n,X);
P = P(range);
end

所以legendre1( 3,0.5,1 )会返回:

P =

   -0.4375

legendre1( 3,0.5,1:2 )

P =

   -0.4375
   -0.3248