資源描述:
《matlab編輯n次拉格朗日函數(shù)插值法的程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、n次拉格朗日函數(shù)插值程序:functionLagrangesNs()%用于求過(guò)n點(diǎn)的拉格朗日n-1次插值多項(xiàng)式options={'Nameofdatafile'};title='Lagranges_points';lineNo=2;def={'Lagranges.dat'};outval=inputdlg(options,title,lineNo,def);ifisempty(outval)==1,return,endfilename=outval{1};data=load(filename);x=data(:,1);y=data(:,2);lagran
2、gesN(x,y);endfunctionlagrangesN(x,y)%畫出已知n個(gè)點(diǎn)的位置 plot(x,y,'*');holdon%n次拉格朗日多項(xiàng)式為y=a0+a1*x+a2*x^2+…+a(n-1)*x^(n-1)%其中a0a1a2…a(n-1)為待求系數(shù)n=length(x);X=Vandermonde(x,1);A=Xy;%繪制插值函數(shù)圖象x1=linspace(0,max(x));x2=Vandermonde(x1',n);y1=x2*A;plot(x1',y1);holdon%顯示公式func=['y=',num2str(A(1))]
3、;fori=2:n;b=['+',num2str(A(i)),'*x^',num2str(i-1)];func=[func,b];end text(0.8,0.8,func);end%創(chuàng)建一個(gè)Vandermonde行列式functionXX=Vandermonde(x,m)%創(chuàng)建x的列向量ifm==1n=length(x);XX=zeros(n);fori=1:nXX(:,i)=x.^(i-1);end elsen=length(x);XX=zeros(n,m);fori=1:mXX(:,i)=x.^(i-1);endendend 運(yùn)行情況: 按“ru
4、n”運(yùn)行時(shí),彈出窗口將圖框中的相關(guān)數(shù)據(jù)更改為:注:在Lagranges1.dat文件中數(shù)據(jù)為:0110.367920.1353點(diǎn)擊圖框中的“OK”,在“commandwindow”中輸出結(jié)果為: