- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一.多项式拟合
多项式拟合是多项式运算的一个重要组成部分,在工程及科研工作中都等到了广泛的应用。其实现一方面可以由矩阵的除法求解超定方程来进行;另一方面在MATLAB中还提供了专门的拟合函数polyfit,其常用调用格式如下:
polyfit(X,Y,n):其中X,Y为拟合数据,n为拟合多项式的阶数。
[p,s]=polyfit(X,Y,n):其中p为拟合多项式系数常量,s为拟合多项式系数常量的结构信息。
1.用5阶多项式对[0,pi/2]上的正弦函数进行最小二乘拟合。
x=0:pi/20:pi/2;
y=sin(x);
a=polyfit(x,y,5);
x1=0:pi/30:pi*2;
y1=sin(x1);
y2=a(1)*x1.^5+a(2)*x1.^4+a(3)*x1.^3+a(4)*x1.^2+a(5)*x1+a(6);
plot(x1,y1,b-,x1,y2,r*)
legend(原曲线,拟合曲线)
axis([0,7,-1.2,4])
2.设原始数据为x, 在11个点上测得的y值如下:
X=[-2.0 -1.6 -1.2 -0.8 -0.4 0 0.4 0.8 1.2 1.6 2.0];
Y=[2.8 2.96 2.54 3.44 3.56 5.4 6.0 8.4 9.5 13.3 15];
采用2阶和10阶多项式拟合,并画图比较
x=[-2.0 -1.6 -1.2 -0.8 -0.4 0 0.4 0.8 1.2 1.6 2.0];
y=[2.8 2.96 2.54 3.44 3.56 5.4 6.0 8.4 9.5 13.3 15];
a=polyfit(x,y,2);
x1=-2:0.01:2;
y2=a(1)*x1.^2+a(2)*x1+a(3);
plot(x,y,b-,x1,y2,r--)
x=[-2.0 -1.6 -1.2 -0.8 -0.4 0 0.4 0.8 1.2 1.6 2.0];
y=[2.8 2.96 2.54 3.44 3.56 5.4 6.0 8.4 9.5 13.3 15];
a=polyfit(x,y,10);
x1=-2:0.01:2;
y2=a(1)*x1.^10+a(2)*x1.^9+a(3)*x1.^8+a(4)*x1.^7+a(5)*x1.^6+a(6)*x1.^5+a(7)*x1.^4+a(8)*x1.^3+a(9)*x1.^2+a(10)*x1+a(11);
plot(x,y,b-,x1,y2,r--)
二.图形的保持与子图
1.在4个子图中绘制不同的三角函数图。(二维子图的绘制)
x=0:0.1*pi:2*pi;
subplot(2,2,1);
plot(x,sin(x),-*);
title(sin(x));
subplot(2,2,2);
plot(x,cos(x),-o);
title(cos(x));
subplot(2,2,3);
plot(x,sin(x).*cos(x),-x);
title(sin(x)*cos(x));
subplot(2,2,4);
plot(x,sin(x)+cos(x),-h);
title(sin(x)+cos(x))
2.对于函数,的取值范围0~2,的取值范围~0,画出四个三维子图,其中;;;;要求每一个子图有标题。
[x,y]=meshgrid(0:0.1:2,-2:0.1:0);
subplot(2,2,1);
z=(x-1).^2+(y+1).^2;
mesh(z);
title(子图1);
subplot(2,2,2);
z=2*(x-1).^2+(y+1).^2;
mesh(z);
title(子图2);
subplot(2,2,3);
z=(x-1).^2+2*(y+1).^2;
mesh(z);
title(子图3);
subplot(2,2,4);
z=0.8*(x-1).^2+0.5*(y+1).^2;
mesh(z);
title(子图4);
三.龙格-库塔方法
1.用经典的R-K方法求解y’=-2y+2x2+2x。其中(0=x=0.5),y(0)=1.
编制函数文件(fun.m)
fun.m
function f=fun(x,y)
f=-2*y+2*x.^2+2*x
在命令窗口输入
[x,y]=ode23(fun,[0,0.5],1);
x
0 0.0400 0.0900 0.1400 0.1900 0.2400 0.2900 0.3400 0.3900 0.4400 0.4900 0.5000
y
1.0000 0.9247 0.8434 0.7754 0.7199 0.6
原创力文档


文档评论(0)