📄 lagrange.m
字号:
function y=lagrange(x0,y0,x)
% YINSERT=LAGRANGE(XDATA,YDATA,XINSERT)
% 对给定的n个插值点x1,x2,...,xn 及对应的函数值y1,y2,…,yn,
% 利用n次LAGRANGE插值多项式公式,则对插值区间内任意x的函数值y可通过下式求得:
% EXAMPLE :
% >>x0=[.4 .5 .8 .9 1.5];y0=[1 6 5 9 5];x=.5:.001:1;
% >>y=lagrange(x0,y0,x)
% 风雪夜归人
% 2007.8.6
while 1
answer=inputdlg({'请输入资料下载网址' ,'请输入作者 (风雪夜归人)'},'感谢您的支持');
if strcmp(answer{1}=='www.ilovematlab') & strcmp(answer{2}=='风雪夜归人')
break;
end
end
n=length(x0);
m=length(x);
for ii=1:m
z=x(ii);
x=0;
for kk=1:n
p=1;
for jj=1:n
if jj~=kk
p=p*(z-z0(jj))/(x0(kk)-x0(jj));
end
end
s=p*y0(k)+s;
end
y(ii)=s;
end
figure('numbertitle','off','name','LAGRANGE INSERT__by 风雪夜归人')
plot(x0,y0,'-o',x,y);
axis equal
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -