matlab_数学实验_实验报告_数据拟合

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据的分析之数据的拟合

一、实验项目:Matlab 数据拟合 二、实验目的和要求

1、掌握用matlab 作最小二乘多项式拟合和曲线拟合的方法。

2、通过实例学习如何用拟合方法解决实际问题,注意差值方法的区别。

3、鼓励不囿于固定的模式或秩序,灵活调整思路,突破思维的呆板性,找到打破常规的解决方法。并在文献检索 动手和动脑等方面得到锻炼。

三、实验内容

操作一:Malthus 人口指数增长模型

用以上数据检验马尔萨斯人口指数增长模型,根据检验结果进一步讨论马尔萨斯人口模型的改进。

马尔萨斯模型的基本假设是人口的增长率为常数,记为r 。记时刻t 的人口为()x t ,且初始时刻的人口为x 0,于是得到如下微分方程

(0)dx rx

dt

x x ⎧=⎪⎨⎪=⎩ 需要先求微分方程的解,再用数据拟合模型中的参数。

一、分析

有这个方程很容易解出0()*rt

x t x e =

r>0时,是表示人口箭杆指数规律随时间无限增长,称为指数增长模型。 将上式取对数,可得y=rt+a ,y=lnx ,a=lnx0 二、用matlab 编码

t=1790:10:1980;

x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92 106.5 123.2 131.7 150.7 179.3 204.0 226.5]; p=polyfit(t,log(x),1); r=p(1) x0=exp(p(2)) x1=x0.*exp(r.*t); plot(t,x,'r',t,x1,'b')

三、结果和图像 0.0214r =

0 1.2480016x e =-

1780

1800182018401860188019001920194019601980

050

100

150

200

250

300

350

操练二:旧车价格预测

分析用什么形式的曲线来拟合数据,并预测使用4、5年后的轿车平均价格大致为多少。 一、分析

用matlab 编码绘制出点图,预测图像大致形状。

12345678910

分析图形呈现对数形状。 用函数

()*log(b *)y x a x c =+来拟合以上数据。

二、用matlab 编码

function f=curvefunl(k,xdata)

f=k(1)*log(k(2)*xdata)+k(3); %ÆäÖÐk(1)=a,k(2)=b,k(3)=c;

xdata=1:1:10;

ydata=[2615 1943 1494 1087 765 538 484 290 226 204]; k0=[1,1,0];

k=lsqcurvefit('curvefunl',k0,xdata,ydata) xi=linspace(0,10,100); yi=curvefunl(k,xi);

plot(xdata,ydata,'ro',xi,yi) xlable('x'),ylable('y=f(x)'), title('nonlinear curve fitting')

三、结果和图像

a=1.0e+003 * -1.1101 b=1.0e+003 *0.0005 c= 1.0e+003 *1.8307

012345678910

1000

2000

3000

4000

5000

相关文档
最新文档