?? 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 + -