欢迎来到天天文库
浏览记录
ID:16511879
大小:80.50 KB
页数:4页
时间:2018-08-13
《matlab编辑n次拉格朗日函数插值法的程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、n次拉格朗日函数插值程序:functionLagrangesNs()%用于求过n点的拉格朗日n-1次插值多项式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个点的位置 plot(x,y,'*');holdon%n次拉格朗日多项式为y=a0+a1*x+a2*x^2+…+a(n-1)*x^(n-1)%其中a0a1a2…a(n-1)为待求系数n=length(x);X=Vandermonde(x,1);A=Xy;%绘制插值函数图象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%创建一个Vandermonde行列式functionXX=Vandermonde(x,m)%创建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 运行情况: 按“ru
4、n”运行时,弹出窗口将图框中的相关数据更改为:注:在Lagranges1.dat文件中数据为:0110.367920.1353点击图框中的“OK”,在“commandwindow”中输出结果为:
此文档下载收益归作者所有