【数学建模】常用模型算法及MATLAB代码汇总

您所在的位置:网站首页 常用的数学建模常用模型 【数学建模】常用模型算法及MATLAB代码汇总

【数学建模】常用模型算法及MATLAB代码汇总

2024-07-12 23:33| 来源: 网络整理| 查看: 265

大家好,我是程序员史迪仔。

这篇文章是在大学准备数学建模比赛时,整理的学习笔记,没想到阅读量、点赞量和收藏量还是可以的,很高兴我的文章能给大家带来帮助!

一、蒙特卡洛算法二、数据拟合三、数据插值四、图论1、最短路问题(1)Dijkstra算法(2)Floyd算法

一、蒙特卡洛算法

1、定义

蒙特卡洛算法是以概率和统计的理论、方法为基础的一种数值计算方法,将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解,故又称随机抽样法或统计实验法。

2、适用范围

可以较好的解决多重积分计算、微分方程求解、积分方程求解、特征值计算和非线性方程组求解等高难度和复杂的数学计算问题。

3、特点

蒙特卡洛算法可以应用在很多场合,但求的是近似解,在模拟样本越大的情况下,越接近于真实值,单样本数增加会带来计算量的大幅上升。对于一些简单问题来说,蒙特卡洛是个笨办法,但对于许多问题来说,它往往是个有效,有时甚至是唯一可行的方法。

4、举例

y = x^2 ,y = 12 - x 与 X 轴在第一象限与 X 轴围成一个曲边三角形。设计一个随机试验,求该图形的近似值。

(1)作图 在这里插入图片描述 Code:

%作图 x = 0:0.25:12; y1 = x.^2; y2 = 12 - x; plot(x, y1, x, y2) xlabel('x');ylabel('y'); %产生图例 legend('y1=x^2', 'y2=12-x'); title('蒙特卡洛算法'); %图中x轴和y轴的范围,中括号前面是y轴范围,中括号后面是x轴范围 axis([0 15 0 15]); text(3, 9, '交点'); %加上网格线 grid on

(2)设计的随机试验的思想:在矩形区域[0,12]*[0.9]上产生服从均与分布的10^7个随机点,统计随机点落在曲边三角形内的个数,则曲边三角形的面积近似于上述矩形的面积乘以频率。

Code:

%蒙特卡洛算法的具体实现 %产生一个1行10000000列的矩阵,矩阵中每个数是从0到12之间随机取 x = unifrnd(0, 12, [1, 10000000]); y = unifrnd(0, 9, [1, 10000000]); frequency = sum(y


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3