当前位置:
文档之家› 用MATLAB解插值和曲线拟合问题
用MATLAB解插值和曲线拟合问题
functionf=curvefun4(x,t)
f=10-(10-x(1))*exp(-t/x(2));
t=[0.5 1 2 3 4 5 7 9];
v=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63];
x0=[0,0.05];
x=lsqcurvefit('curvefun4',x0,t,v)
Interp1(x,y,cx,’method’)
在MATLAB的线性最小二乘拟合中,用得较多的是多项式拟合,其命令为:
A=polyfit(x,y,m)
二.上机内容
1、在飞机的机翼加工时,由于机翼尺寸很大,通常在图纸上只能标出部分关键点的数据.某型号飞机的机翼上缘轮廓线的部分数据如下。用插值法求x每改变0.1时的y值,画出图形表示。
x 0 4.74 9.05 19 38 57 76 95 114 133152 171 190
y 0 5.23 8.1 11.97 16.15 17.1 16.34 14.63 12.16 6.697.03 3.99 0
2、已知观测数据点如表所示:
用3次多项式函数拟合这些数据点,画出图形。
3、教材习题1,用griddata插值函数,三次插值。
注:上机作业文件夹以自己的班级姓名学号命名,文件夹包括如下上机报告和Matlab程序。
上机报告模板如下:
佛山科学技术学院
上 机报 告
课程名称数学应用软件
上机项目用MATLAB解插值和曲线拟合问题
专业班级
一.上机目的
熟练掌握多种插值方法:线性插值,三次样条插值,三次插值和最近邻点插值(linear、spline、cubic、nearest)
f=curvefun4(x,t)
截图:
四.上机结果
第1题:
截图:
第2题:
A =
Columns 1 through 3
16.0758 -33.9245 29.3246
Column 4
-0.6104
截图:
第3题:
cK =
0.0724
截图:
第4题:
x =
5.5577 3.5002
f =
Columns 1 through 5
4、教材习题4 ,初始值为V0=0, =0.05
三.上机方法与步骤
第1题:要用插值法求x每改变0.1时的y值,可以选用程序y=interp1(xheng,yzhong,x,'spline');
xheng=[0 4.74 9.05 19 38 57 76 95 114 133 152 171 190];
xlabel('xhen'),ylabel('yzhon')
截图:
第2题:要用3次多项式函数拟合这些数据点,并画出图形,选用程序A=polyfit(x,y,3),z=polyval(A,x);plot(x,y,'k+',x,z,'r')编程求解即可。
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];
K=[0.0848 0.0897 0.0762 0.0807 0.0696 0.0753 0.0611 0.0651];
cT=99;
cP=10.3;
cK=griddata(T,P,K,cT,cP,'cubic')
Байду номын сангаас截图:
第4题:要确定t,v ,选用x=lsqcurvefit('curvefun4',x0,t,v),f=curvefun4(x,t)
yzhong=[0 5.23 8.1 11.97 16.15 17.1 16.34 14.63 12.16 6.69 7.03 3.99 0];
x=0:0.1:190;
y=interp1(xheng,yzhong,x,'spline');
plot(xheng,yzhong,'+',x,y,xheng,yzhong,'r:')
6.1490 6.6616 7.4913 8.1147 8.5832
Columns 6 through 8
8.9353 9.3987 9.6604
截图:
A=polyfit(x,y,3)
z=polyval(A,x);
plot(x,y,'k+',x,z,'r')
截图:
第3题:用griddata插值函数,三次插值,选用cK=griddata(T,P,K,cT,cP,'cubic')编程。
T=[68 68 87 87 106 106 140 140];
P=[9.7981 13.324 9.0078 13.355 9.7918 14.277 9.6563 12.463];