求勒让德多项式 matlab

来源:百度知道 编辑:UC知道 时间:2024/06/22 19:12:52
本人初学matlab,有一问题向各位高手请教。matlab编写legendre(勒让德)多项式。不知道哪里有问题,提示Input argument 'n' is undefined.
function P=Legendre(n)

if (n==0)
P=1;
if (n==1)
P=x;
else
P=((2*n-1)*x*Legendre(n-1)-(n-1)*Legendre(n-2))/(n);
end
end
你好,我在命令窗口调用了Legendre(n),回车后没有反应啊?没结果啊

x为符号运算,需要标注。你编的函数是文件,不是直接运行的,需要调用。
你看看书上脚本与函数章节就明白了

function P=Legendre(n)
syms x;
if (n==0)
P=1;
else
if (n==1)
P=x;
else
P=((2*n-1)*x*Legendre(n-1)-(n-1)*Legendre(n-2))/(n);
end
end

首先在command window 中输入比如n=10,然后运行该函数!