- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三函数的数值逼近.doc
实验三 函数的数值逼近-插值与曲线拟合
【实验目的】
(一)学习MATLAB中多项式的表示及多项式运算;
(二)学习用典型的插值和拟合方法求函数的近似值或近似表达式;
(三)掌握拉格朗日、牛顿插值法的基本理论及MATLAB实现,解决一些实际问题;
【实验内容】
(一)多项式表示及运算;
(二)拉格朗日插值法、Newton插值理论的MATLAB实现;
(三)函数拟合理论的MATLAB实现;
【实验性质】设计型
【实验步骤】
(一)多项式表示及运算
1、在MATLAB命令窗口中输入以下语句,观察结果,分析语句功能
(1)p=[1,-5,6,-33],poly2sym(p)
(2)syms x
f=4*x^3+6*x
sym2poly(f)
分析函数poly2sym和sym2poly的功能。
2、多项式运算
在MATLAB命令窗口中输入以下语句,观察结果
p=[3,2,1]; a=1:2:5;polyval (p,a),分析函数polyval功能
(二)拉格朗日插值法、Newton插值理论的MATLAB实现
Lagrange插值的参考程序:
X=[];Y=[]; %X,Y存放已知数据点
syms x s
n=length(X);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(x-X(j))/(X(k)-X(j));
end
end
s=s+p*Y(k);
end
s; s=simplify(s);
Newton插值的参考程序:
X= [];Y= [];
n=length(X);
for i=1:1:n-1
CS(i,1)=(Y(i+1)-Y(i))/(X(i+1)-X(i));
end
for j=2:1:n-1
for i=j:1:n-1
CS(i,j)=(CS(i,j-1)-CS(i-1,j-1))/(X(i+1)-X(i+1-j));
end
end
syms N x b
N=Y(1);
a=0;
b=(x-X(1));
for i=1:1:n-1
a=CS(i,i);
N=N+a*(b);
b=(b)*(x-X(i+1));
end
fprintf(插值多项式为)
N
用Lagrange或Newton插值完成课本P48 第2题, P34例5,P28 例2.
(三)函数拟合理论的MATLAB实现
1、多项式拟合的MATLAB实现
(1)学习多项式拟合函数polyfit的使用,其调用格式为:
=polyfit(x,y,n)
其中,参数x代表已知数据点自变量组成的向量;参数y代表已知数据点函数值组成的向量;
参数代表所求得拟合多项式系数向量;参数代表拟合多项式的数。
2)在对问题求解过程中,如需计算多项式在某点x处的值,可用以下语句:
=polyval(p, x)
(3)在多项式拟合过程中,如需画出数据点的散点图,可用MATLAB绘图函数plot,plot函数的调用格式:plot(x,y,s),其中,参数x,y的意义同多项式拟合polyfit(),参数s为用于修饰图形线型的字符串 X=[-2.8 -1 0.2 2.1 5.2 6.8]和Y=[3.1 4.6 2.3 1.2 2.3 -1.1]分别进行阶数为3、4、5 的多项式拟合,并画出图形进行比较。参考程序:
x=[-2.8 -1 0.2 2.1 5.2 6.8]; y=[3.1 4.6 2.3 1.2 2.3 -1.1];
% 用不同阶数的多项式拟合x 和y
p3=polyfit(x, y, 3); p4=polyfit(x, y, 4); p5=polyfit(x, y, 5);
xcurve= -3.5:0.1:7.2; % 生成x 值
% 计算在这些x 点的多项式值
p3curve=polyval(p3, xcurve);
p4curve=polyval(p4, xcurve);
p5curve=polyval(p5, xcurve);
plot(xcurve,p3curve,--,xcurve,p4curve,-.,xcurve,p5curve,-,x,y,*);
上机习题:
例1990-1995年的生产利润如下表所示
年份x 1990 1991 1992 1993 1994 1995 利润y 70 111 138 153 174 197
问题:试预测该企业1996、1997年利润.
2、用MAT
文档评论(0)