1、实 验 报 告 (二)院(系)理学院 课程名称: 数学模型 日期 2012 年 3 月 14班级 A0921 学号 01 实验室 文理楼 209专业 信息与计算科学 姓名 计算机号 12实验名称 拟合 成绩评定所用软件 Matlab 教师签名实验目的或要求1. 直观了解拟合基本内容2. 掌握用数学软件求解拟合问题实验步骤、心得体会实验题目:1. 通过测量 10 个成年男性的身高与体重,得到如下数据身高x/m1.65 1.70 1.72 1.75 1.78 1.80 1.82 1.79 1.68 1.76体重y/kg61 70 72 74 76 79 80 77 66 73试求身高与体重的关系,
2、并作出关系图实验步骤:(1)以身高为横轴,体重为纵轴,将上述数据对 在直角(,)1,20)ixy坐标系中作出散点图,程序如下:x=1.65 1.70 1.72 1.75 1.78 1.80 1.82 1.79 1.68 1.76; %x 代表身高y=61 70 72 74 76 79 80 77 66 73; %y 代表体重plot(x,y,r*); %画出数据的散点图运行程序后出来下图:(2)所给的数据点 的分布大致呈直线状态,可用直线来拟合这些(,)1,2)ixyn数据点的曲线。x=1.65 1.70 1.72 1.75 1.78 1.80 1.82 1.79 1.68 1.76; %x
3、代表身高y=61 70 72 74 76 79 80 77 66 73; %y 代表体重p=polyfit(x,y,1) %对(x,y)做一阶线性拟合运行结果为:p =103.3868 -107.6100即用最小二乘法求得的拟合直线方程为 103.867.10yx(3)绘制出拟合出的曲线和散点图的对比x=1.65 1.70 1.72 1.75 1.78 1.80 1.82 1.79 1.68 1.76; %x 代表身高y=61 70 72 74 76 79 80 77 66 73; %y 代表体重p=polyfit(x,y,1) %对(x,y)做一阶线性拟合z=polyval(p,x); %计
4、算拟合后的多项式 p 中 x 点对应的函数值plot(x,y,r*,x,z) %绘制散点图2. 已知热敏电阻数据:温度t(C)20.5 32.7 51.0 73.0 95.7电阻 R() 765 826 873 942 1032求 60C 时的电阻 R实验步骤:(1) 以温度为横轴,电阻为纵轴,将上述数据对 在直角坐(,)1,25)itR标系中作出散点图,程序如下:t=20.5 32.7 51.0 73.0 95.7; %t 代表温度R=765 826 873 942 1032; %R 代表电阻plot(t,R,r*); %画出数据的散点图运行程序后出来下图:(2)所给的数据点 的分布大致呈直
5、线状态,可用直线来拟合这些(,)1,2)itRn数据点的曲线。t=20.5 32.7 51.0 73.0 95.7; %t 代表温度R=765 826 873 942 1032; %R 代表电阻p=polyfit(t,R,1) %做一阶线性拟合运行结果为:p =3.3987 702.0968即用最小二乘法求得的拟合直线方程为 R3.987t02.68(3)绘制出拟合出的曲线和散点图的对比t=20.5 32.7 51.0 73.0 95.7; %t 代表温度R=765 826 873 942 1032; %R 代表电阻p=polyfit(t,R,1) %对(t,R)做一阶线性拟合z=polyva
6、l(p,t); %计算拟合后的多项式 p 中 t 点对应的函数值plot(t,R,r*,t,z) %绘制散点图R0= polyval(p,60); %求 60C 时的电阻 R运行结果:R0 =906.02123.设有数据如表所列,请拟合 26、10 次数时的多项式,并作出数据对比图x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1y -0.447 1.978 3.280 6.160 7.080 7.340 7.660 9.560 9.480 9.300 11.2实验步骤:1)将上述数据对 在直角坐标系中作出散点图,程序如下:(,)1,2)ixyx=0 0.1 0
7、.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1; %x 的数据y=-0.447 1.978 3.280 6.160 7.080 7.340 7.660 9.560 9.4809.300 11.200; %y 的数据plot(x,y,r*); %画出数据的散点图运行程序后出来下图:2)所给的数据点 ,用 2 次的多项式来拟合这些数据的曲线。(,)1,)ixyn程序如下:clearx=0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1; %x 的数据y=-0.447 1.978 3.280 6.160 7.080 7.340 7.660 9.560 9
8、.4809.300 11.200; %y 的数据p=polyfit(x,y,2) %求 2 次拟合多项式的系数xi=linspace(0,1,100); %建立拟合多项式曲线的横坐标数列yi=polyval(p,xi); %计算拟合后的多项式对应 xi 点的函数值 yiplot(x,y,r*,xi,yi)运行结果:p =-9.8108 20.1293 -0.0317即 2 次拟合多项式为:229.810.930.17pxx运行程序后出来下图:所给的数据点 ,用 36 次的多项式来拟合这些数据的曲线。(,)1,2)ixyn程序如下:clearx=0 0.1 0.2 0.3 0.4 0.5 0.6
9、 0.7 0.8 0.9 1; %x 的数据y=-0.447 1.978 3.280 6.160 7.080 7.340 7.660 9.560 9.4809.300 11.200; %y 的数据%-3 次拟合曲线-p3=polyfit(x,y,3) %求 3 次拟合多项式的系数 xi=linspace(0,1,100); %建立拟合多项式曲线的横坐标数列yi=polyval(p3,xi); %计算拟合后的多项式对应 xi 点的函数值 yisubplot(2,2,1),plot(x,y,r*,xi,yi)title(3 次拟合曲线)%-4 次拟合曲线-p4=polyfit(x,y,4) %求
10、4 次拟合多项式的系数 xi=linspace(0,1,100); %建立拟合多项式曲线的横坐标数列yi=polyval(p4,xi); %计算拟合后的多项式对应 xi 点的函数值 yisubplot(2,2,2),plot(x,y,r*,xi,yi)title(4 次拟合曲线)%-5 次拟合曲线-p5=polyfit(x,y,5) %求 3 次拟合多项式的系数 xi=linspace(0,1,100); %建立拟合多项式曲线的横坐标数列yi=polyval(p5,xi); %计算拟合后的多项式对应 xi 点的函数值 yisubplot(2,2,3),plot(x,y,r*,xi,yi)tit
11、le(5 次拟合曲线)%-6 次拟合曲线-p6=polyfit(x,y,6) %求 3 次拟合多项式的系数 xi=linspace(0,1,100); %建立拟合多项式曲线的横坐标数列yi=polyval(p6,xi); %计算拟合后的多项式对应 xi 点的函数值 yisubplot(2,2,4),plot(x,y,r*,xi,yi)title(6 次拟合曲线)运行结果:p3 =16.0758 -33.9245 29.3246 -0.6104p4 =22.0571 -28.0385 -6.3531 23.8103 -0.4516p5 =11.6827 -7.1496 -2.5312 -15.4
12、072 24.9093 -0.465p6 =1.0e+003 *0.6980 -2.0822 2.3469 -1.2208 0.2678 0.0018 -0.0004即 3 次拟合多项式为:6104.32.945.30758.16xxxy4 次拟合多项式为:4516.083.25.08.1.234 x5 次拟合多项式为: 6.9.472.53.1496.7682.15 xxxxy6 次拟合多项式为: 0.4-.18 0.6 1.8-2. .0- 0.9 23456 运行程序后出来下图:clearx=0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1; %x 的数据y
13、=-0.447 1.978 3.280 6.160 7.080 7.340 7.660 9.560 9.4809.300 11.200; %y 的数据p=polyfit(x,y,10) %求 10 次拟合多项式的系数xi=linspace(0,1,100); %建立拟合多项式曲线的横坐标数列yi=polyval(p,xi); %计算拟合后的多项式对应 xi 点的函数值 yiplot(x,y,r*,xi,yi)运行结果:p =1.0e+006 *Columns 1 through 9 -0.4644 2.2965 -4.8773 5.8233 -4.2948 2.0211 -0.6032 0.1
14、090 -0.0106Columns 10 through 11 0.04 -0.0000即 10 次拟合多项式为: 109876543210.462.54.735.24.982.01.6320.19.06.4pxxxxxx运行程序后出来下图:4.用下列一组数据拟合 中的参数 a,b,k0.2()ktctabejt100 200 300 400 500 600 700 800 900 1000310jc4.54 4.99 5.35 5.65 5.90 6.10 6.26 6.39 6.50 6.591)编写 M 文件 curvefun1.mfunction f=curvefun1(x,tdat
15、a)f=x(1)+x(2)*exp(-0.02*x(3)*tdata) %其中 x(1)=a; x(2)=b;x(3)=k;2)输入命令tdata=100:100:1000cdata=1e-03*4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59;x0=0.2,0.05,0.05; %拟合参数的初始值 x=lsqcurvefit (curvefun1,x0,tdata,cdata) %拟合相应的参数值,放入到 x 当中f= curvefun1(x,tdata) %求拟合后数据点对应的函数plot(tdata,cdata,r*,tdata,f) %画出拟合后函数与原始数据对比图 3)运算结果为:f =0.0043 0.0051 0.0056 0.0059 0.0061 0.0062 0.0062 0.0063 0.0063 0.0063x = 0.0063 -0.0034 0.2542得到图像:4)结论:a=0.0063, b=-0.0034, k=0.2542即拟合的表达式为: 0.51()0.63.4tcte备注:本实验报告用于各学科与计算机应用相关课程的实验,务必按时完成。不交此报告者,本次实验为“不合格” 。九 江 学 院