数学建模算法整理.doc

数学建模算法整理.doc

ID:55915590

大小:2.66 MB

页数:32页

时间:2020-06-14

数学建模算法整理.doc_第1页
数学建模算法整理.doc_第2页
数学建模算法整理.doc_第3页
数学建模算法整理.doc_第4页
数学建模算法整理.doc_第5页
资源描述:

《数学建模算法整理.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数学建模常用算法1.大多数建模赛题中都离不开计算机仿真,随机性模拟是非常常见的算法之一。    举个例子就是97年的A题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行

2、求解,只能靠随机仿真模拟。1.1蒙特卡罗算法蒙特卡罗模拟就是随机数相关的东西,你只要知道随机数是怎么得到。其它的事就要好办了。rand(m,n)产生m*n均匀随机数。ex:用概率方法求piN=100000;x=rand(N,1);y=rand(N,1);count=0;fori=1:Nif(x(i)^2+y(i)^2<=1)count=count+1;endendPI=4*count/N试给出下面赌博中的蒙特卡洛模拟在一次旅游途中,小王看到有人用20枚签(其中10枚标有5分分值,10枚标有10分分值)设赌。让游客从中抽出10枚,以10枚签的分值总和为奖罚金额,见表1表1分值50,10055,

3、9560,65,85,9070,75,80奖罚金额奖100元奖10元不奖不罚罚1元你看,有奖有罚,在11个分值中有4个分值可以获奖,且最高奖额为100元;只有3个分值要受罚,而罚额仅为1元,很有吸引力吧?怪不得有些游客摩拳擦掌,跃跃欲试。那么这些奖是不是这么好拿呢?试分析此游戏中,谁是真正的赢家?%%假设前10个分值为5,后10个分值为10income=0;%%收入n=10000;%%模拟次数,即有n个人参加游戏fori=1:na=randperm(20);a=a(1:10);b=find(a>10);%%10分分值的sumb=length(b)*10+(10-length(b))*5;if

4、sumb==50

5、

6、sumb==100income=income-100;elseifsumb==55

7、

8、sumb==95income=income-10;elseifsumb==70

9、

10、sumb==75

11、

12、sumb==80income=income+1;endendIncome2. 数据拟合、参数估计、插值等算法    数据拟合在很多赛题中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是98年美国赛A题,生物组织切片的三维插值处理,94年A题逢山开路,山体海拔高度的插值计算,还有吵的沸沸扬扬可能会考的“非典”问题也要用到数据拟合算法,观察数据的走向进行处理。此类问题在MATLAB

13、中有很多现成的函数可以调用,熟悉MATLAB,这些方法都能游刃有余的用好。2.1三次样条插值在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是插值点的函数值

14、。对于三次样条插值,我们提倡使用函数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元素

15、的取值为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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。