数学建模算法整理.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学建模算法整理

数学建模常用算法 1.大多数建模赛题中都离不开计算机仿真,随机性模拟是非常常见的算法之一。 ???? 举个例子就是97 年的A 题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108 种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟有哪些信誉好的足球投注网站最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。蒙特卡罗算法 2.? 数据拟合、参数估计、插值等算法 ???? 数据拟合在很多赛题中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是98 年美国赛A 题,生物组织切片的三维插值处理,94 年A 题逢山开路,山体海拔高度的插值计算,还有吵的沸沸扬扬可能会考的“非典”问题也要用到数据拟合算法,观察数据的走向进行处理。此类问题在MATLAB中有很多现成的函数可以调用,熟悉MATLAB,这些方法都能游刃有余的用好。 在 Matlab 中数据点称之为断点。如果三次样条插值没有边界条件,最常用的方法,就是采用非扭结(not-a-knot)条件。这个条件强迫第 1 个和第 2 个三多项式的三阶导数相等。对最后一个和倒数第 2 个三次多项式也做同样地处理。 Matlab 中三次样条插值也有现成的函数: y=interp1(x0,y0,x,spline); y=spline(x0,y0,x); pp=csape(x0,y0,conds),y=ppval(pp,x)。 其中x0,y0是已知数据点,x是插值点,y是插值点的函数值。 对于三次样条插值,我们提倡使用函数csape,csape的返回值是 pp 形式,要求插值点的函数值,必须调用函数 ppval。 pp=csape(x0,y0):使用默认的边界条件,即 Lagrange 边界条件。 pp=csape(x0,y0,conds)中的 conds 指定插值的边界条件,其值可为: complete 边界为一阶导数,即默认的边界条件 not-a-knot 非扭结条件 periodic 周期条件 second 边界为二阶导数,二阶导数的值[0, 0]。 variational 设置边界的二阶导数值为[0,0]。 对于一些特殊的边界条件,可以通过 conds 的一个 1×2矩阵来表示,conds 元素的取值为 1,2。此时,使用命令 pp=csape(x0,y0_ext,conds) 其中 y0_ext=[left,y0,right],这里 left 表示左边界的取值,right 表示右边界的取值。 conds(i)=j 的含义是给定端点i 的 j 阶导数, 即 conds 的第一个元素表示左边界的条 件,第二个元素表示右边界的条件,conds=[2,1]表示左边界是二阶导数,右边界是一阶 导数,对应的值由 left 和 right 给出。 2.2 二维插值 前面讲述的都是一维插值,即节点为一维变量,插值函数是一元函数(曲线) 。若节点是二维的,插值函数就是二元函数,即曲面。如在某区域测量了若干点(节点)的高程(节点值) ,为了画出较精确的等高线图,就要先插入更多的点(插值点) ,计算这些点的高程(插值)。 2.1.1 插值节点为网格节点 已知m×n个节点: (i=1,2.....m;j=1,2.....n)并且 。求点(x,y)处的插值z 。 Matlab 中有一些计算二维插值的程序。如 z=interp2(x0,y0,z0,x,y,method) 其中 x0,y0 分别为m 维和n 维向量,表示节点,z0 为n×m维矩阵,表示节点值,x,y为一维数组,表示插值点,x 与 y 应是方向不同的向量,即一个是行向量,另一个是列向量,z 为矩阵,它的行数为 y 的维数,列数为 x 的维数,表示得到的插值,method的用法同上面的一维插值。 如果是三次样条插值,可以使用命令 pp=csape({x0,y0},z0,conds,valconds),z=fnval(pp,{x,y}) 其中 x0,y0 分别为m 维和n 维向量,z0 为 m×n维矩阵,z 为矩阵,它的行数为x 的维数,列数为 y 的维数,表示得到的插值,具体使用方法同一维插值。 例2 在一丘陵地带测量高程,x 和 y 方向每隔100米测一个点,得高程

文档评论(0)

tiangou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档