数学建模论文

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

问题重述

一垂钓俱乐部鼓励垂钓者将钓上的鱼放生,打算按照放生的鱼的重量给与鼓励,俱乐部只准备了一把软尺用于测量,让我们根据钓上的鱼的长度来估计它的体重。现假定鱼池中只有一种鲈鱼,并且测得到8条鱼的如下数据:

问题分析

我们都知道鲈鱼的体重主要由鱼的身长、胸围决定。一般来说,鲈鱼的胸围越大,鱼的体重会越重,身长越长,体重也越重。但影响鲈鱼体重的因素并不唯一,我们要考虑单一变量对鱼体重的影响,即身体长度与体重的关系和胸围与体重的关系,我们要根据已知数据,利用相关软件进行模拟,来确定鲈鱼体重与身长、胸围之间的数量规律。

模型假设

1.假设池塘里只有一种鲈鱼,不存在其他鱼种。

2.假设池塘里鲈鱼数量众多,分布均匀,密度相同。

3.假设鲈鱼全都正常生长,没有人为因素影响鲈鱼的发育与成长。

4.假设鲈鱼的体态用与胸围等周长,鲈鱼的躯干近似呈圆柱形。

5.假设鲈鱼的身长和胸围与体重成正相关关系。

符号说明

模型一:建立鲈鱼的身长与鲈鱼的体重的模型

为了研究鲈鱼身长与体重的关系,我们利用已测量的数据,取出身长及体重的数据,利用MATLAB 软件画出散点图,如下:

身长

体重

身长与体重散点图

方法一:我们把图形可以近似看成一条抛物线,身长与体重近似成二次函数关系

通过多次拟合可得:

W=1.6247*L^2-59.3124*L+709.7392

(1)

根据拟合的函数,我们画出拟合图:

200400600800100012001400160018002000身长与体重拟合图

从拟合图上看,大部分原始数据在拟合函数附近,说明用二次函数拟合的效果较好.

方法二: 根据散点图决定利用三次多项式拟合得到的各项系数如下:

1 -80 3008 -37262

从而得到了拟合函数:

3726230088023-+-=L L L W

30

32

34

36

3840

42

4446

根据拟合数据得到的图形

L(cm)

W (g )

模型二:鲈鱼体重与胸围的模型确立

仅仅考虑鲈鱼胸围对体重的影响,我们采用与模型一相同的方法,先画出鲈鱼体重与胸围的散点图:

胸围

体重

胸围与体重散点图

从图形上看,鲈鱼体重与胸围可能成线性关系,利用多项式拟合的方法,我们得到鲈鱼体重与胸围的函数表达式: W=92*C-1497.5

根据拟合函数,画出胸围与体重关系的拟合图:

20

22

24

26

28

30

32

34

36

38

40

胸围与体重拟合图

从图形上看,大部分点分布在直线左右,我们可以近似看成二者成线性关系。

模型三:

同时考虑身长、胸围对体重的影响: 此模型要用到基本假设4及即:鲈鱼的体态用与胸围等周长,与身长等高的

圆柱形来近似。因为圆柱体的体积等于底面积乘高,底面积可以用周长表示:π

42

C .

因此可以分析得出2LC W ∝.又物体质量等于密度与体积的乘积,因此只需根据数据求出密度即可。于是身长、胸围与体重的关系可以表示为:2LC W α=,问题转化为对系数α的求解。利用MATLAB 软件和已知的八组数据可以求出对应的α值:

0.0303 0.0305 0.0322 0.0334 0.0326 0.0346 0.0338 0.0341

为了得到精确地模型对数据进行处理

α≈0.0327

因此 20327.0LC W =

模型检验

模型一

平均相对误差为:

从表中的数据,我们可以得出鲈鱼体重的实际值与估计值的相对误差较小,说明用二次函数拟合鲈鱼身长与体重的关系式可行的。

方法二:得出的函数对鱼的体重进行估测并列如下表:

平均相对误差为: 3.44%

从表中的数据,我们可以看出方法二的相对误差小于方法一的相对误差,所以方法二的结果更贴近实际。

模型二

平均相对误差为:

从表中的数据,我们可以看出鲈鱼体重的实际值与估计值的相对误差不太大。模型三

平均相对误差为: 4.0375%

根据表三的数据,可以知道模型三的拟合程度也较好,相对于模型一、二,此模型充分考虑到了身长、胸围对体重的相互影响,用此模型估计鲈鱼的体重可能会更符合实际,更合适推广。

模型优点:模型简单,易于理解

数据处理简明,计算思路清晰。

通过对比,结果更有说服力。

模型缺点:模型是根据个人经验建立,可能存在误差。

鲈鱼呈梭形,看成圆柱较牵强。

画两散点图的程序:

x=[36.8 31.8 43.8 36.8 32.1 45.1 35.9 32.1];

y=[24.8 21.3 27.9 24.8 21.6 31.8 22.9 21.6];

z=[765 482 1162 737 482 1389 652 454 ;

plot(x,z,'*')

xlabel('身长');

ylabel('体重');

title('身长与体重散点图');

plot(y,z,'*')

xlabel('胸围');

ylabel('体重');

title('胸围与体重散点图');

画身长与体重拟合图程序:

x=[36.8 31.8 43.8 36.8 32.1 45.1 35.9 32.1];

相关文档
最新文档