matlab 拉格朗日插值函数m文件为function [Ln] = Lagrange(px,py)n=length(x);L=zeros(1,n); %一行n列for i=1:na=1;p=1;for k=1:nif =ia=a*(x(i)-x(k)); %计算分母p=conv(p,[1-x(k)]); %计算分子多项式endendL=L+(y(i)/a)*p;end主程序:x
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/09 01:12:03
![matlab 拉格朗日插值函数m文件为function [Ln] = Lagrange(px,py)n=length(x);L=zeros(1,n); %一行n列for i=1:na=1;p=1;for k=1:nif =ia=a*(x(i)-x(k)); %计算分母p=conv(p,[1-x(k)]); %计算分子多项式endendL=L+(y(i)/a)*p;end主程序:x](/uploads/image/z/3932547-51-7.jpg?t=matlab+%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E6%8F%92%E5%80%BC%E5%87%BD%E6%95%B0m%E6%96%87%E4%BB%B6%E4%B8%BAfunction+%5BLn%5D+%3D+Lagrange%28px%2Cpy%29n%3Dlength%28x%29%3BL%3Dzeros%281%2Cn%29%3B+%25%E4%B8%80%E8%A1%8Cn%E5%88%97for+i%3D1%3Ana%3D1%3Bp%3D1%3Bfor+k%3D1%3Anif+%3Dia%3Da%2A%28x%28i%29-x%28k%29%29%3B+%25%E8%AE%A1%E7%AE%97%E5%88%86%E6%AF%8Dp%3Dconv%28p%2C%5B1-x%28k%29%5D%29%3B+%25%E8%AE%A1%E7%AE%97%E5%88%86%E5%AD%90%E5%A4%9A%E9%A1%B9%E5%BC%8FendendL%3DL%2B%28y%28i%29%2Fa%29%2Ap%3Bend%E4%B8%BB%E7%A8%8B%E5%BA%8F%EF%BC%9Ax)
matlab 拉格朗日插值函数m文件为function [Ln] = Lagrange(px,py)n=length(x);L=zeros(1,n); %一行n列for i=1:na=1;p=1;for k=1:nif =ia=a*(x(i)-x(k)); %计算分母p=conv(p,[1-x(k)]); %计算分子多项式endendL=L+(y(i)/a)*p;end主程序:x
matlab 拉格朗日插值函数
m文件为
function [Ln] = Lagrange(px,py)
n=length(x);L=zeros(1,n); %一行n列
for i=1:n
a=1;p=1;
for k=1:n
if =i
a=a*(x(i)-x(k)); %计算分母
p=conv(p,[1-x(k)]); %计算分子多项式
end
end
L=L+(y(i)/a)*p;
end
主程序:
x = -5 :0.01 :5;
y = sin(x);
plot(x,y,'r:') % 绘制准确函数图像
hold on
px = -5 :1 :5; % 插值点
py = sin(px); % 插值点上的函数值
plot(px,py,'m+') % 绘制插值点
[Ln] = Lagrange(px,py); % 根据插值点及其值计算 Lagrange 插值多项式
Lx = -5:0.01:5; % 绘图点
Ly = polyval(Ln,Lx); % 计算绘图点上的多项式函数值
plot(Lx,Ly,'b-.') % 绘制 多项式 图像legend('sin(x)','point','Ln','Location','NorthEast')
hold off
错误处:
Undefined function or variable 'x'.
Error in ==> Lagrange at 2
n=length(x);L=zeros(1,n); %一行n列
matlab 拉格朗日插值函数m文件为function [Ln] = Lagrange(px,py)n=length(x);L=zeros(1,n); %一行n列for i=1:na=1;p=1;for k=1:nif =ia=a*(x(i)-x(k)); %计算分母p=conv(p,[1-x(k)]); %计算分子多项式endendL=L+(y(i)/a)*p;end主程序:x
你能把拉格朗日函数的内容说一下吗?