《数学模型及实验课程报告.docx》由会员分享,可在线阅读,更多相关《数学模型及实验课程报告.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学模型与实验实习报告姓 名: 学号: 院(系): 专业: 指导教师: 职称: 2016 年 11 月目 录数学模型与实验实习报告1第一章 绪论1第二章 拟合在人口预测的应用22.1差分法22.1.1 一次函数拟合22.1.2 二次函数拟合32.2 指数模型42.3 Logistic模型42.4 小结5第三章 插值在制图方面的应用63.1. 三次样条插值6第四章 方程近似解74.1 图形放大法74.2 迭代法74.2.1 简单迭代法84.2.2. 加速迭代法84.2.3. 牛顿迭代法84.2.4. 结果及讨论8第五章 分形10参考文献11附录12作业一12美国人口变化12一次函数拟合13二次函
2、数拟合14作业二15指数模型15Logistic模型17作业三19地图绘制19图形放大法20简单迭代21加速迭代22牛顿迭代22第一章 绪论近半个多世纪以来,随着计算机技术的迅速发展,数学的应用不仅在工程技术、自然科学等领域发挥着越来越重要的作用,而且以空前的广度和深度向经济,管理,金融、生物、医学、环境、地质、人口、交通等新的领域渗透,所谓数学技术已经成为当代高新技术的重要组成部分。数学模型(Mathematical Model)是一种模拟,是用数学符号,数学式子,程序,图形等对实际课题本质属性的抽象而又简洁的刻画,它或能解释某些客观现象,或能预测未来的发展规律,或能为控制某一现象的发展提供
3、某种意义下的最优策略或较好策略。数学模型一般并非现实问题的直接翻版,它的建立常常既需要人们对现实问题深入细微的观察和分析,又需要人们灵活巧妙地利用各种数学知识。这种应用知识从实际课题中抽象、提炼出数学模型的过程就称为数学建模(Mathematical Modeling)。不论是用数学方法在科技和生产领域解决哪类实际问题,还是与其它学科相结合形成交叉学科,首要的和关键的一步是建立研究对象的数学模型,并加以计算求解(通常借助计算机);数学建模和计算机技术在知识经济时代的作用可谓是如虎添翼。数学是研究现实世界数量关系和空间形式的科学,在它产生和发展的历史长河中,一直是和各种各样的应用问题紧密相关的。
4、数学的特点不仅在于概念的抽象性,逻辑的严密性,结论的明确性和体系的完整性,而且在于它应用的广泛性。自从20世纪以来,随着科学技术的迅速发展和计算机的日益普及,人们对各种问题的要求越来越精确,使得数学的应用越来越广泛和深入,特别是在21世纪这个知识经济时代,数学科学的地位会发生巨大的变化,它正在从国家经济和科技的后备走到了前沿。经济发展的全球化、计算机的迅猛发展、数学理论与方法的不断扩充,使得数学已经成为当代高科技的一个重要组成部分和思想库,数学已经成为一种能够普遍实施的技术。培养人们应用数学的意识和能力已经成为数学教学的一个重要方面。本文按照学习与实习内容将分为拟合、插值、迭代三方个面,并分别
5、将其应用于人口预测、制图、求方程近似解三个实际问题,并在附录中给出mathematica代码以供参考。另外在最后还增加了一些分形的简介及多维分形在地球化学的应用。第二章 拟合在人口预测的应用人口是反映国情、国力基本情况的重要指标, 区域研究所必须考虑的重要因素之一, 分析现状、制定规划时首先要考虑的基本问题。例如评价一个国家或一个地区的发展潜力时离不开现在与今后各类人口数量、比例指数和年龄分布。故人口预测是制定和顺利实现社会经济各项战略设想的基础和出发点, 制定正确人口政策的科学依据1。2.1差分法差分法是微分方程的一种近似数值解法。具体地讲,差分法就是把微分用有限差分代替,把导数用有限差商代
6、替,从而把基本方程和边界条件(一般均为微分方程)近似地改用差分方程(代数方程)来表示,把求解微分方程的问题改换成为求解代数方程的问题。在弹性力学中,用差分法和变分法解平面问题。差分格式有向前、向后和中心3种:向前(前向)差分:an=an+1- an向后(逆向)差分:an=an- an-1中心差分:an=(an+1- an-1)/2本文均采用前向差分,简单起见,后文中的“差分”均表示“前向差分”。(a) 美国人口(b)美国人口变化情况图2-12.1.1 一次函数拟合从图2-1(b)可以看出美国人口变化情况基本为每十年都较过去十年有所增加,且大部分的点处于一条直线附近,通过最小二乘法可以求得给直线
7、为:y=-246595.79696968076+137.4653246753161x (1)从图2-2(a)可以看出该直线拟合效果不错,图2-2(b)为直线拟合的残差,拟合优度度量见表2-1。(a) 一次函数拟合(b)美国人口变化情况图2-2表2-1 拟合优度度量AdjustedRSquaredAICBICRSquared0.8651141864236883404.4575052929107407.591072606080960.8718584771025042.1.2 二次函数拟合采用一次函数的拟合效果不错,从图2-2(a)中也可以发现上面的点似乎是有一些弧度的,下面将采用二次函数对差分结果
8、进行最小二乘法拟合,可得:y=699630.7882135218-864.8615111889414x+0.2651658295937217x2 (2)从图2-3(a)可以看出该直线拟合效果不错,图2-3(b)为曲线(2)拟合的残差,拟合优度度量见表2-2。(a) 二次函数拟合(b)美国人口变化情况图2-3表2-2 拟合优度度量AdjustedRSquaredAICBICRSquared0.8681218153584219404.84854485822797409.02663460912170.88130963382257982.2 指数模型指数增长是经济学理论中重要的分析工具,当一个变量在一
9、定时期内按固定比率增长时,指数(或几何)增长就发生了。例如:当数量为200的人口每年以3%的比列增加时,在起始年份(第0年),人口为200,第1年人口数为200(1+0.03)1;第2年人口数为200(1+0.03)2;第n年人口数为200(1+0.03)n;按此类推2。指数模型的公式为:y=r(t-t0) (3)根据最小二乘法计算得:y=0.01420578406196938(-1113.1069864202925+t) (4)从图2-4(a)可以看出该曲线拟合效果很好,图2-4(b)为曲线(4)拟合的残差,参数检验见表2-3。(a) 指数函数拟合(b) 拟合残差图2-4表2-3 参数检验E
10、stimateStandard ErrortStatisticPValuer0.0142057840619690.000529451753397426.831121005483.71465648099722110-17t01113.10698642029231.96094531301785634.827098370182.23950546221051310-192.3 Logistic模型考虑到种内对资源的竞争,可以假设人口增长率r是人口x(t)函数r(x),即不同密度的人口有不同的净增长率Logistic假设r(x) 是x(t)的减函数,且是x的线性函数,r(x)=r-sx (s 0),这里
11、的r相当于x(t=0)时的增长率r(x)HoldForm年份,HoldForm人口 (( 千 )),PlotLabel-HoldForm美国人口统计,LabelStyle-GrayLevel0美国人口变化ShowListPlotdian,AxesLabel-HoldForm年份,HoldForm人口 (( 千 )),PlotLabel-HoldForm美国人口变化,LabelStyle-GrayLevel0一次函数拟合y1=LinearModelFitdian,1,x,xFittedModelShowListPlotdian,Ploty1x,x,1790,1990,AxesLabel-Hold
12、Form年份,HoldForm人口 (( 千 )),PlotLabel-HoldForm美国人口变化,LabelStyle-GrayLevel0GridTranspose#,y1#&AdjustedRSquared,AIC,BIC,RSquared,Alignment-Left AdjustedRSquared, 0.865114, AIC, 404.458, BIC, 407.591, RSquared, 0.871858ListPlotTransposeyear1;-2,y1FitResiduals, Filling-Axis,AxesLabel-HoldForm年份,HoldForm人口
13、 (( 千 )),PlotLabel-HoldForm一次函数拟合的残差,LabelStyle-GrayLevel0二次函数拟合y2=LinearModelFitdian,1,x,x2,xFittedModelShowListPlotdian,Ploty2x,x,1790,1990,AxesLabel-HoldForm年份,HoldForm人口 (( 千 )),PlotLabel-HoldForm美国人口变化,LabelStyle-GrayLevel0GridTranspose#,y2#&AdjustedRSquared,AIC,BIC,RSquared,Alignment-Left Adju
14、stedRSquared, 0.868122, AIC, 404.849, BIC, 409.027, RSquared, 0.88131ListPlotTransposeyear1;-2,y2FitResiduals, Filling-Axis,AxesLabel-HoldForm年份,HoldForm人口 (( 千 )),PlotLabel-HoldForm二次函数拟合的残差,LabelStyle-GrayLevel0作业二population=3929,5308,7240,9638,12866,17069,23192,31443,38558,50156,62948,75995,91972
15、,105711,122755,131669,150697,179323,203212,226505,248710,281416;year=Tablen,n,1790,2000,10;dian=Transposeyear,population;指数模型model1=Er (t-t0);fit1=FindFitdian,model1,r,0.02,t0,1000,tr-0.0142058,t0-1113.11modelf1=Functiont,EvaluateEr (t-t0)/.fit1Functiont,E0.0142058 (-1113.11+t)Plotmodelf1t,t,1790,20
16、00,Epilog-MapPoint,dian,PlotStyle-Red,AxesLabel-HoldForm年份,HoldForm人口 (( 千 )),PlotLabel-HoldForm指数拟合ListPlotTransposeyear,population-Mapmodelf1,year, Filling-Axis,AxesLabel-HoldForm年份,HoldForm人口 (( 千 )),PlotLabel-HoldForm拟合的残差,LabelStyle-GrayLevel0nlm=NonlinearModelFitdian,Expr(t-t0),r,0.02,t0,1000,
17、t;nlmBestFitParameters;nlmBestFit,FitResiduals,ParameterTableE0.0142058 (-1113.11+t),-11070.9,-11981.5,-12688.6,-13332.6,-13610.9,-13449.4,-11984.8,-9103.34,-8177.47,-3713.33,855.879,4424.93,9477.24,10624.,13153.6,5337.64,5082.,11480.8,9749.86,3512.16,-8321.21,-14849.3, , Estimate, Standard Error, t
18、-Statistic, P-Value, r, 0.0142058, 0.000529452, 26.8311, 3.71466*10-17, t0, 1113.11, 31.9609, 34.8271, 2.23951*10-19Logistic模型FindFitpopulation/100000,xmax/(E-r (t-tmid)+1),r,xmax,tmid,tr-0.215454,xmax-4.44184,tmid-19.7416ShowListPlotpopulation/100000,PlotStyle-Red,Plotxmax/(E-r (t-tmid)+1)/. r-0.21
19、5454,xmax-4.44184,tmid-19.7416,t,1,22注意:要不断对输入的值做运算,目的使参数不要太大也不能太小,参数在 10-1 101数量级内是可以求出的;另外数据的维度度增高也会导致出现出非常不正确结论,(即使x是从1开始间隔为1的)。但是如果知道参数的大致范围即使有前边提到的不好的现象拟合效果也会很好model=xmax/(E-r (t-tmid)+1);fit=FindFitdian,model,r,0.03,xmax,200000,tmid,2000,tr-0.0215454,xmax-444184.,tmid-1977.42modelf=Functiont,E
20、valuatemodel/.fitFunctiont,444184./(1+E-0.0215454 (-1977.42+t)Plotmodelft,t,1790,2000,Epilog-MapPoint,dian,PlotStyle-Red,AxesLabel-HoldForm年份,HoldForm人口 (( 千 )),PlotLabel-HoldFormLogistic拟合ListPlotTransposeyear,population-Mapmodelf,year, Filling-Axis,AxesLabel-HoldForm年份,HoldForm人口 (( 千 )),PlotLabel
21、-HoldForm拟合的残差,LabelStyle-GrayLevel0nlm=NonlinearModelFitdian,model,r,0.03,xmax,200000,tmid,2000,t;nlmBestFitParameters;nlmBestFit,FitResiduals,ParameterTable444184./(1+E-0.0215454 (-1977.42+t),-3767.87,-4199.78,-4493.3,-4824.42,-4934.2,-4800.09,-3617.6,-1336.61,-1393.77,1647.83,4316.71,5504.38,7747
22、.28,5791.78,5172.06,-5456.47,-7644.33,-1582.77,-1174.54,-1767.53,-3306.28,6332.81, , Estimate, Standard Error, t-Statistic, P-Value, r, 0.0215454, 0.00100631, 21.4103, 9.19554*10-15, xmax, 444184., 35808.5, 12.4044, 1.47724*10-10, tmid, 1977.42, 7.66485, 257.985, 3.83351*10-35作业三地图绘制x=17,18,20,31,41
23、,58,66,72,72,69,57,60,71,104,130,146,160,163,168,179,196,223,258,282,307,315,330,352,337,377,392,428,462,501,524,533,555,542,550,561,574,590,599,610,635,644,649,669,671,677,678,696,720,723,722,710,687,676,659,647,633,630,626,623,619,608,596,581,558,537,511,484,464,456,449,434,425,411,394,368,351,332
24、,329,312,284,281,263,251,249,247,244,240,233,222,217,209,189,180,169,165,165,150,138,138,132,127,122,102,86,65,64,54,32,28;y=299,298,273,273,262,254,234,220,207,191,175,166,160,150,137,121,117,106,83,64,63,56,50,52,46,38,32,21,21,16,14,34,43,46,60,75,95,114,138,139,133,133,139,157,162,174,188,200,20
25、7,205,206,216,218,225,220,240,256,256,241,245,237,254,245,254,245,308,315,315,290,281,270,270,272,278,290,293,301,303,308,297,303,311,337,342,353,358,365,356,347,314,346,332,297,290,297,298,301,303,307,314,325,328,332,337,336,341,338,332,328,322,316,314,314,307;p=x,y/Transpose;GraphicsEdgeFormDirect
26、ivePink,White,PolygonpGraphicsPink,BSplineCurvep,SplineClosed-Truex,y=NTransposep;S=Absx.RotateRighty-y.RotateRightx/2137607.图形放大法方程有无穷多个解,这里仅取位于(1.114,1.115)的解作为示例DynamicModulen=1,SliderDynamicn,DynamicPlotx Sinx-1,x,0.114+10n,2.115-10nAnimatePlotx Sinx-1,x,0.114+10n,2.115-10n,n,0,3,AnimationDirect
27、ion-Backward迭代法Plotx5+5x3-2x+1,x,-1,1NFindRootx5+5x3-2x+1=0,x,-0.70.113279 +0.149947 I-0.768453简单迭代x=1;DoPrintNx;x=(x5+5x3+1)/2,100.0.50.8281252.1145445.2749.53392*1073.93847*10394.73812*101971.193985549120348*109881.213292064168927*104940x=0;DoPrintNx;x=,100.0.292402 +0.506455 I0.487313 +0.375017 I
28、0.470146 +0.254812 I0.393474 +0.236353 I0.368623 +0.283702 I0.394723 +0.304418 I0.410328 +0.292203 I0.405683 +0.281082 I0.398257 +0.28209 I加速迭代x=0;ft_=;DoPrintNx;x=(fx-x fx)/(1-fx),60.0.337512 +0.328469 I0.402518 +0.288112 I0.400409 +0.286014 I0.400413 +0.286016 I0.400413 +0.286016 IMathematica默认用的都是精确值,迭代太多吃不消的牛顿迭代x=0;ft_=t5+5t3-2t+1;DoPrintNx;x=x-fx/fx,100.0.50.1818180.6266230.396273-0.707301-0.776631-0.768576