数学建模实验报告4

桂林电子科技大学2017-2018学年第1学期

数学建模

实验名称 院系 学号 同作者 实验日期 实验四、插值与拟合 计算机与信息安全学院 专业 计算机科学与技术 姓名 2017 年 12 月 24 日 检查情况: 成绩教师签名: 一、实验目的

应用matlab处理数据并分析,主要学会并熟练掌握数据拟合和插值。 二、实验内容

题目1

在化工生产中常常需要知道丙烷在各种温度T和压力P下的导热系数K。下面是实验得到的 一组数据: T/°C P/103kPa K 68 9.7981 0.0848 68 13.324 0.0897 87 9.0078 0.0762 87 13.355 0.0807 106 9.7918 0.0696 106 14.277 0.0753 140 9.6563 0.0611 140 12.463 0.0651 K 0696 0753 试求 T=99/°C和 P=10.3×103kPa下的K。 p2=[9.0078,13.355]; k2=[0.0762,0.0807]; %T=87℃ p3=[9.7918,14.277]; k3=[0.0696,0.0753]; %T=106℃ a2=polyfit(p2,k2,1); a3=polyfit(p3,k3,1);

x1=polyval(a2,10.3); x2=polyval(a3,10.3); %x1,x2 分别是 P=10.3(103kPa)下87℃和 106℃时的 k 值 x=[87,106];y=[x1,x2];

a=polyfit(x,y,1);%求解多项式的系数

z=polyval(a,99)%求解多项式z在x=99下对应的值。 实验结果: z =

0.0729

题目2

下表给出了某一海域以码为单位的直角坐标Oxy上一点(x,y)(水面一点)以英尺为单位的水深z,水深数据是在低潮时测得的,船的吃水深为5英尺,问在矩形区域(75,200)x(-50,150)里那些地方船要避免进入。 x y z 129 157.5 7.5 -6.5 4 9 140 107.5 141.5 -81 8 9 103.5 77 23 3 6 8 88 81 147 56.5 8 8 185.5 162 22.5 -66.5 6 9 195 162 137.5 84 8 4 105.5 117.5 85.5 -33.5 8 9 插值法求解: 代码:

x=[129 140 103.5 88 185.5 195 105.5 157.5 107.5 77 81 162 162 117.5]; y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5]; z=[-4 -8 -6 -8 -6 -8 -8 -9 -9 -8 -8 -9 -4 -9]; cx = 75:0.5:200; cy = -50:0.5:150;

[cx,cy]=meshgrid(cx,cy);

cz=griddata(x,y,z,cx,cy,'cubic');

%等高线图红色区域为危险区域,所以船只要避免进入 figure(2)

contour(cx,cy,cz,[-5,-5],'r') hold on plot(x,y,'*')

xlabel('X'),ylabel('Y') 实验结果:

船的吃水深度为5英尺时,红色区域为危险区域,船要避免进入。 题目3

用给定的多项式,如y=x3-6x2+5x-3,产生一组数据(xi,yi,i=1,2,…,n),再在yi上添加随机干扰(可用rand产生(0,1)均匀分布随机数,或用rands产生N(0,1)分布随机数),然后用xi和添加了随机干扰的yi作的3次多项式拟合,与原系数比较。如果作2或4次多项式拟合,结果如何?

线性最小二乘拟合 程序如下: x=1:0.5:10;

y=x.^3-6*x.^2+5*x-3; y0=y+rand;

f1=polyfit(x,y0,1)% 输出多项式系数

y1=polyval(f1,x);% 计算各 x点的拟合值 plot(x,y,'+',x,y1) grid on

title(' 一次拟合曲线 '); figure(2);

f2=polyfit(x,y0,2)%2 次多项式拟合 y2=polyval(f2,x); plot(x,y,'+',x,y2); grid on

title(' 二次拟合曲线 '); figure(3);

f4=polyfit(x,y0,4)%4 次多项式拟合 y3=polyval(f4,x); plot(x,y,'+',x,y3) grid on

title(' 四次拟合曲线 '); figure(4);

f6=polyfit(x,y0,6)%6 次多项式拟合 y4=polyval(f6,x); plot(x,y,'+',x,y4) grid on

title(' 六次拟合曲线 ');

运行结果如下:依次为各个拟合曲线的系数(按降幂排列) f1 =43.2000 -149.0663

f2 = 10.5000 -72.3000 89.8087

f4 =0.0000 1.0000 -6.0000 5.0000 -2.5913

f6 = 0.0000 -0.0000 0.0000 1.0000 -6.0000 5.0000 -2.4199

运行后,比较拟合后多项式和原式的系数,发现四次多项式系数与原系数比较接近,四次多项式的四次项系数很小。作图后,发现一次和二次多项式的图形与原函数的差别比较大,属于欠拟合的情况,而四次多项式和六次多项式符合得比较好。作图如下:

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4