lagrange.m
来自「Matlab中没有现成的Lagrange插值函数」· M 代码 · 共 20 行
M
20 行
%Matlab中没有现成的Lagrange插值函数,必须编写一个M文件实现Lagrange插值。
%设n个节点数据以数组x0,y0 输入(注意Matlat的数组下标从1开始),m 个插值点以数组 x输入,输出数组y 为 m个插值。编写一个名为lagrange.m的M文件:
function y=lagrange(x0,y0,x);
n=length(x0);m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?