数值分析建模方法_第1页
数值分析建模方法_第2页
数值分析建模方法_第3页
数值分析建模方法_第4页
数值分析建模方法_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数值分析建模方法朱海龙目录一、插值方法简介二、拟合方法简介三、利用编程解决问题四、建模实例一、插值方法简介插值法是函数逼近的重要方法之一,有着广泛的应用。基本思想:就是利用函数f(x)在一些给定点的函数值(或其导数值),建立一个简单而又便于计算的函数(x),使其近似的代替f(x).

插值法有很多种,其中以拉格朗日(Lagrange)插值和牛顿(Newton)插值为代表的多项式插值最有特点,常用的插值还有Hermit插值,分段插值和样条插值.缺少数据年份平均学费1989187.061990190.641991205.091992396.561993592.991994871.13年份平均学费19951064.0819961816.2519972312.5019982755.4819993548.3620004620.8220014620.8220024547.823520034676.195420044894.695420055092.08320065157.118缺少数据是用样条插值函数求出来的高等教育学费问题探讨插值法的特点:适用于数据量相对准确的数据MATLAB命令interp1一元插值interp2二元插值interp3三元插值spline样条插值

yi=interp1(x,y,xi)%根据数据(x,y)给出xi的分段线性插值结果。举例:

x=[0.1,0.2,0.15,0,-0.2,0.3]y=[0.95,0.84,0.86,1.06,1.50,0.72]xi=-0.2:0.01:0.3yi=interp1(x,y,xi)plot(x,y,'o',xi,yi,'-')yi=interp1(x,y,xi,’spline’)yi=spline(x,y,xi)%使用三次样条插值举例:

x=[0.1,0.2,0.15,0,-0.2,0.3]y=[0.95,0.84,0.86,1.06,1.50,0.72]xi=-0.2:0.01:0.3yi=interp1(x,y,xi,'spline')plot(x,y,'o',xi,yi,'-')yi=interp2(x,y,xi,’spline’)%使用二元三次样条插值举例:

x=0:4;y=[2:4]';z=[8281808284;7963616581;8484828586];xi=0:0.1:4;yi=[2:0.1:4]';zi=interp2(x,y,z,xi,yi,'spline')mesh(xi,yi,zi)例已给sin0.32=0.314567,sin0.34=0.333487,sin0.36=0.352274,用分段线性插值及样条插值计算sin0.3367的值。解:由题意取x0=0.32x1=0.34x2=0.36y0=0.314567y1=0.333487y2=0.352274x=[0.32,0.34,0.36]y=[0.314567,0.333487,0.352274]x1=0.3367y1=interp1(x,y,x1)y2=interp1(x,y,x1,'spline')结果为y1=0.33036520000000,y2=0.33037436203750练习:已测得某地大气压强随高度变化的一组数据高度(m)0100300100015002000.压强(kgf/m2)0.96890.93220.89690.85150.79840.7485

试用二次插值法求1200米处的压强值.解答x=[0;100;300;1000;1500;2000]y=[0.9689;0.9322;0.8969;0.8515;0.7984;0.7485]x1=[1200]y1=interp1(x,y,x1)解得y1=0.83026000000000y2=interp1(x,y,x1,'spline')解得y2=0.83309476709771二、拟合方法简介

插值法是使用插值多项式来逼近未知或复杂函数的,它要求插值函数与被插函数在插值节点上函数值相同,而在其他点上没有要求。在非插值节点上有时函数值会相差很大。若要求在被插函数的定义区间上,所选近似函数都能与被插函数有较好的近似,就是最佳逼近问题。某种合成纤维的强度与其拉伸倍数有直接关系,下表是实际测定的24个纤维样品的强度与相应拉伸倍数的记录。提示:将拉伸倍数作为x,强度作为y,在座标纸上标出各点,可以发现什么?数据表格

从上图中可以看出强度与拉伸倍数大致成线性关系,可用一条直线来表示两者之间的关系。解:设y*=a+bxi

,令δ=yi-y*i=yi-a-bxi,根据最小二乘原理,即使误差的平方和达到最小,也就是令

nQ=∑δi2

i=1

为最小,即求使

(a,b)=

有最小值的a和b的值。拟合法的特点:适用于数据量相对不是太准确且相对数据量较大的数据MATLAB命令polyfit多项式拟合lsqcurvefit曲线拟合

P=polyfit(x,y,k)%用k次多项式拟合向量数据(x,y),返回多项式的降幂排列举例:

x=[0.1,0.2,0.15,0,-0.2,0.3]y=[0.95,0.84,0.86,1.06,1.50,0.72]p=polyfit(x,y,2)%得到二次拟合多项式解得p=1.7342-1.69591.0850xi=-0.2:0.01:0.3yi=polyval(p,xi)plot(x,y,'o',xi,yi,'-')c=lsqcurvefit(fun,c0,x,y)%fun为两变量函数f(c,x),c0为参数c的近似值,作为迭代初值,(x,y)为数据向量。举例:

x=[0.1,0.2,0.15,0,-0.2,0.3]y=[0.95,0.84,0.86,1.06,1.50,0.72]

fun=inline('c(1)*exp(c(2)*x)','c','x')c=lsqcurvefit(fun,[0,0],x,y)解得c=1.0997-1.4923xi=-0.2:0.01:0.3yi=1.0997*(exp(-1.4923*xi))plot(x,y,'o',xi,yi,'-')例:电流通过2Ω电阻,用伏安法侧得的电压电流如表I(A)1246810V(V)1.83.78.212.015.820.2用最小二乘法处理数据。解答:x=[1 2 4 6 8 10]y=[1.8 3.7 8.2 12.0 15.8 20.2]p=polyfit(x,y,1)%得到一次拟合多项式xi=1:0.01:10yi=polyval(p,xi)plot(x,y,'o',xi,yi,'-')练习:美国人口统计数据(以百万为单位)

年179018001810182018301840185018601870188018901900人口3.95.37.29.612.917.123.231.438.662.976.0试估计1880年的人口?解答:x=[01020304050607080100110]y=[3.95.37.29.612.917.123.231.438.662.976.0]

fun=inline('c(1)*exp(c(2)*x)','c','x');c=lsqcurvefit(fun,[0,0],x,y);解得c=5.20690.0246x1=90y1=5.2069*(exp(0.0246*x1))解得y1=47.65(实际数据为50.2)

plot(x,y,'o',x1,y1,'rh')三、利用编程解决问题当MATLAB中没有现成的命令可以调用时,就必须自己进行编程进行研究说明。注:实际中很多问题确实需要自己编程处理。如2007年的乘公交看奥运的数学建模问题等等。下面我们将注重论述.四、建模实例第一题:2007高教社杯全国大学生数学建模竞赛题目B题:乘公交,看奥运

我国人民翘首企盼的第29届奥运会明年8月将在北京举行,届时有大量观众到现场观看奥运比赛,其中大部分人将会乘坐公共交通工具(简称公交,包括公汽、地铁等)出行。这些年来,城市的公交系统有了很大发展,北京市的公交线路已达800条以上,使得公众的出行更加通畅、便利,但同时也面临多条线路的选择问题。针对市场需求,某公司准备研制开发一个解决公交线路选择问题的自主查询计算机系统。

为了设计这样一个系统,其核心是线路选择的模型与算法,应该从实际情况出发考虑,满足查询者的各种不同需求。请你们解决如下问题:1、仅考虑公汽线路,给出任意两公汽站点之间线路选择问题的一般数学模型与算法。并根据附录数据,利用你们的模型与算法,求出以下6对起始站→终到站之间的最佳路线(要有清晰的评价说明)。(1)、S3359→S1828(2)、S1557→S0481(3)、S0971→S0485(4)、S0008→S0073(5)、S0148→S0485(6)、S0087→S36762、同时考虑公汽与地铁线路,解决以上问题。3、假设又知道所有站点之间的步行时间,请你给出任意两站点之间线路选择问题的数学模型。【附录1】基本参数设定相邻公汽站平均行驶时间(包括停站时间):3分钟相邻地铁站平均行驶时间(包括停站时间):2.5分钟公汽换乘公汽平均耗时:5分钟(其中步行时间2分钟)地铁换乘地铁平均耗时:4分钟(其中步行时间2分钟)地铁换乘公汽平均耗时:7分钟(其中步行时间4分钟)公汽换乘地铁平均耗时:6分钟(其中步行时间4分钟)公汽票价:分为单一票价与分段计价两种,标记于线路后;其中分段计价的票价为:0~20站:1元;21~40站:2元;40站以上:3元地铁票价:3元(无论地铁线路间是否换乘)注:以上参数均为简化问题而作的假设,未必与实际数据完全吻合。【附录2】公交线路及相关信息(见数据文件B2007data.rar)解决思想:在广度优先搜索的基础上,我们建立了问题一的数学模型:BusA为途径A站的所有路线的集合,BusB为途径B站的所有路线的集合。如果BusABusB,说明A到B站可以不用转车就能到达。直接可以得到A,B站的直达路线。如果BusABusB,再依次从与BusA有公共站点的公交线路Bus(i为从A站转乘i次可乘坐的公交路线,i=1,2…)中查找是否与BusB有公共路线,若存在则算法结束,若不存在则按此步骤继续直到查找到为止。如果存在多种方案的转乘次数相同,则依据次要目标费用最少和时间最短选取最佳路线。模型假设假设乘客都能搭上自己想要乘坐的公交车或地铁;假设交通顺畅,没有拥堵现象;采用同一站点名的站点均认为是同一站点,没有空间上的差异;假设公交车都按时发车、按时到达,乘客无需花费多余的时间等车;假设整个公交网络是一个连通图,任意两个站点都有路可达;假设超过三次转乘次数的路线被认为是不可达。符号说明Si编号为i的公交站点Li编号为i的公交路线Di编号为i的地铁站T从源站到目的站花费的时间,单位为分钟M从源站到目的站花费的金钱,单位为元BusA 途径A站的所有路线的集合,A为站点名Line 公交及地铁线路集合数据的处理excel中”数据/导入外部数据/导入数据“的使用excel中”编辑/定位/定位条件“的使用excel中”数据/筛选/自动筛选”的使用详细题目及数据见附件1详细解题步骤及程序见附件2第二题:据报载,2003年全国道路交通事故死亡人数为10.4372万,其中因饮酒驾车造成的占有相当的比例。针对这种严重的道路交通情况,国家质量监督检验检疫局2004年5月31日发布了新的《车辆驾驶人员血液、呼气酒精含量阈值与检验》国家标准,新标准规定,车辆驾驶人员血液中的酒精含量大于或等于20毫克/百毫升,小于80毫克/百毫升为饮酒驾车(原标准是小于100毫克/百毫升),血液中的酒精含量大于或等于80毫克/百毫升为醉酒驾车(原标准是大于或等于100毫克/百毫升)。大李在中午12点喝了一瓶啤酒,下午6点检查时符合新的驾车标准,紧接着他在吃晚饭时又喝了一瓶啤酒,为了保险起见他呆到凌晨2点才驾车回家,又一次遭遇检查时却被定为饮酒驾车,这让他既懊恼又困惑,为什么喝同样多的酒,两次检查结果会不一样呢?请你参考下面给出的数据(或自己收集资料)建立饮酒后血液中酒精含量的数学模型,并讨论以下问题:1.对大李碰到的情况做出解释;2.在喝了3瓶啤酒或者半斤低度白酒后多长时间内驾车就会违反上述标准,在以下情况下回答:酒是在很短时间内喝的;酒是在较长一段时间(比如2小时)内喝的。3.怎样估计血液中的酒精含量在什么时间最高。4.根据你的模型论证:如果天天喝酒,是否还能开车?5.根据你做的模型并结合新的国家标准写一篇短文,给想喝一点酒的司机如何驾车提出忠告。参考数据1.人的体液占人的体重的65%至70%,其中血液只占体重的7%左右;而药物(包括酒精)在血液中的含量与在体液中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论