1 / 3
文档名称:

MATLAB编辑n次拉格朗日函数插值法的程序.doc

格式:doc   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MATLAB编辑n次拉格朗日函数插值法的程序.doc

上传人:笨小孩 2011/8/29 文件大小:0 KB

下载得到文件列表

MATLAB编辑n次拉格朗日函数插值法的程序.doc

文档介绍

文档介绍:n次拉格朗日函数插值
程序:
function LagrangesNs() %用于求过n点的拉格朗日n-1次插值多项式
options={'Name of data file'};
title='Lagranges_points';
lineNo=2;
def={''};
outval=inputdlg(options,title,lineNo,def);
if isempty(outval)==1,return,end
filename=outval{1};
data=load(filename);
x=data(:,1);
y=data(:,2);
lagrangesN(x,y);
end
function lagrangesN(x,y)
%画出已知n个点的位置
plot(x,y,'*');
hold on
%n次拉格朗日多项式为 y=a0+a1*x+a2*x^2+…+a(n-1)*x^(n-1)
%其中a0 a1 a2…a(n-1)为待求系数
n=length(x);
X=Vandermonde(x,1);
A=X\y;
%绘制插值函数图象
x1=linspace(0,max(x));
x2=Vandermonde(x1',n);
y1=x2*A;
plot(x1',y1);
hold on
%显示公式
func=['y= ',num2str(A(1))];
for i=2:n;
b=['+ ',num2str(A(i)),'*x^',num2str(i-1)];
func=[func,b];
end
text(,,func);
end
%创建一个Vandermonde行列式