- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用Matlab进行数据拟合
1. 多项式曲线拟合: polyfit.
p=polyfit(x,y,m)
其中, x, y为已知数据点向量, 分别表示横,纵坐
标, m为拟合多项式的次数, 结果返回m次拟合
多项式系数, 从高次到低次存放在向量p 中.
y0=polyval(p,x0)
可求得多项式在x0处的值y0.
例1 已知观测数据点如表所示
x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
y -0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.3 11.2
分别用3次和6次多项式曲线拟合这些数据点.
编写Matlab程序如下:
x=0:0.1:1
y=[-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.3,11.2]
plot(x,y,k.,markersize,25)
axis([0 1.3 -2 16])
p3=polyfit(x,y,3)
p6=polyfit(x,y,6)
x=0:0.1:1
y=[-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.3,11.2]
plot(x,y,k.,markersize,25)
axis([0 1.3 -2 16])
p3=polyfit(x,y,3)
p6=polyfit(x,y,6)
t=0:0.1:1.2
s=polyval(p3,t)
s1=polyval(p6,t)
hold on
plot(t,s,r-,linewidth,2)
plot(t,s,b--,linewidth,2)
grid
例2 用切削机床进行金属品加工时, 为了适当地调整
机床, 需要测定刀具的磨损速度. 在一定的时间测量刀
具的厚度, 得数据如表所示:
切削时间t/h 0 1 2 3 4 5 6 7 8
刀具厚度y/cm 30.0 29.1 28.4 28.1 28.0 27.7 27.5 27.2 27.0
切削时间t/h 9 10 11 12 13 14 15 16
刀具厚度y/cm 26.8 26.5 26.3 26.1 25.7 25.3 24.8 24.0
解: 描出散点图, 在命令窗口输入:
t=[0:1:16]
y=[30.0 29.1 28.4 28.1 28.0 27.7 27.5 27.2 27.0 26.8
26.5 26.3 26.1 25.7 25.3 24.8 24.0]
plot(t,y,*)
解: 描出散点图, 在命令窗口输入:
t=[0:1:16]
y=[30.0 29.1 28.4 28.1 28.0 27.7 27.5 27.2 27.0 26.8
26.5 26.3 26.1 25.7 25.3 24.8 24.0]
plot(t,y,*)
a=polyfit(t,y,1)
a =
-0.3012 29.3804
hold on
y1=-0.3012*t+29.3804
plot(t, y1), hold off
例2 用切削机床进行金属品加工时, 为了适当地调整
机床, 需要测定刀具的磨损速度. 在一定的时间测量刀
具的厚度, 得数据如表所示:
切削时间t/h 0 1 2 3 4 5 6 7 8
刀具厚度y/cm 30.0 29.1 28.4 28.1 28.0 27.7 27.5 27.2 27.0
切削时间t/h 9 10 11 12 13 14 15 16
刀具厚度y/cm
文档评论(0)