MATLAB中定义函数问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 18:41:06
请问一下各位高手,我写的如下函数,怎么总是报这样错,谢谢了!!
??? Input argument "x" is undefined.

Error in ==> lagran at 2
m=length(x);n=length(y);p=length(xx);
程序如下:
function yy=lagrange(x,y,xx)
m=length(x);n=length(y);p=length(xx);
if m~=n, error('向量x与y的长度必须一致');end
s=0;
for k=1:n
t=ones(1,p);
for j=1:n
if j~=k
t=t.*(xx-x(j))/(x(k)-x(j));
end
end
s=s+t*y(k);
end
yy=s;
x=[100 121 144];y=[10 11 12];
yy=lagrange(x,y,115)

没有问题啊!
function yy=lagrange(x,y,xx)
m=length(x);n=length(y);p=length(xx);
if m~=n, error('向量x与y的长度必须一致');end
s=0;
for k=1:n
t=ones(1,p);
for j=1:n
if j~=k
t=t.*(xx-x(j))/(x(k)-x(j));
end
end
s=s+t*y(k);
end
yy=s;
现将其保存为lagrange.m
然后在命令窗口输入
x=[100 121 144];y=[10 11 12];
yy=lagrange(x,y,115)
就会得到
yy =

10.7228