MATLAB數學建模(6)-蒙特卡洛演算法
蒙特卡洛演算法是基於概率論的一種計算方法,有些問題直接求解較為困難,但是利用類似做實驗的方法去試探,利用隨機數或”偽隨機數”進行計算的話,問題會變得比較簡單.
1.計算定積分
當然,這個問題比較簡單,用蒙特卡洛方法怎麼做呢?
function result = MentekaluoDingjifen(a,b,m,mm)
%a是積分下限
%b是積分上限
%m是函式的上界
%mm是隨機試驗次數
frq = 0;
xrangnum = unifrnd(a,b,1,mm);
yrangnum = unifrnd(0,m,1,mm);
for ii = 1:mm
if (cos(xrangnum(1 ,ii)) + 2) >= yrangnum(1,ii)
frq = frq + 1;
end
end
result = frq*m*(b-a)/mm
看看結果:
>> MentekaluoDingjifen(0,4,4,100000)
result =
7.2394
ans =
7.2394
100000次模擬之後,結果與精確解7.2432很接近.
2.計算π的值。
function pijisuan = pi(mm)
frq = 0;
xrandnum = unifrnd(0,1,1,mm);
yrandnum = unifrnd(0 ,1,1,mm);
for ii = 1:mm
if (xrandnum(1,ii)^2 + yrandnum(1,ii)^2 <= 1)
frq = frq + 1;
end
end
pijisuan = 4*frq/mm
看看效果:
>> pi(100000)
pijisuan =
3.1370
ans =
3.1370
相關推薦
MATLAB數學建模(6)-蒙特卡洛演算法
蒙特卡洛演算法是基於概率論的一種計算方法,有些問題直接求解較為困難,但是利用類似做實驗的方法去試探,利用隨機數或”偽隨機數”進行計算的話,問題會變得比較簡單. 1.計算定積分 當然,這個問題比較簡單,用蒙特卡洛方法怎麼做呢? function resu
Matlab數學建模(五):優化模型之標準模型
一、學習目標 (1)瞭解最優化模型。 (2)掌握線性規劃的優化求解。 (3)掌握整數規劃的優化求解。 (4)瞭解Matlab的圖形化應用。 二、例項演練 1、談談你對最優化模型的瞭解。 最優化模型是數學建模大賽中最常見的問題型別之一。一
Matlab 數學建模 方法(四): 機器學習
1. MATLAB機器學習概況 機器學習 ( Machine Learning ) 是一門多領域交叉學科,它涉及到概率論、統計學、電腦科學以及軟體工程。 機器學習是指一套工具或方法,憑藉這套工具和方法,利用歷史資料對機器進行“訓練”進而“學習”到某種模式或規律,並建立預測
BP神經網路演算法原理推導(數學建模進階演算法/機器學習)
BP神經網路(Back-Propagation Network)演算法原理推導 簡介 反向傳播網路(Back-Propagation Network)簡稱BP網路,基於誤差反向傳播演算法(BP演算法)的一種多層網路。
Matlab數學建模(六):全域性優化
1、學習目標 (1)以著名的旅行商問題為例,掌握如何使用遺傳演算法。 (2)以經典的Peaks 問題為例,掌握如何使用模擬退火演算法。 2、例項演練 1、旅行商問題。 旅行商問題是城市數量有限,且城市間旅行成本已知的優化問題。我們的目標是為銷售人員找到一
Matlab數學建模學習報告(一)
一、學習目標。 (1)瞭解Matlab與數學建模競賽的關係。 (2)掌握Matlab數學建模的第一個小例項—評估股票價值與風險。 (3)掌握Matlab數學建模的迴歸演算法。 二、例項演練。 1、談談你對Matlab與數學建模競賽的瞭解。 M
數學建模程式與演算法之整數線性規劃
定義 在線性規劃模型中,規劃中的變數限制為整數時稱為整數線性規劃。 變數全部限制為整數,稱為(完全)整數線性規劃 變數部分限制為整數,稱為混合整數線性規劃
給你一個演算法應該怎麼寫程式(數學建模 matlab)
本文寫作初衷:有個可愛的學妹問我在看到一個演算法程式設計時的步驟是什麼,然而作為偽大神的我,感覺並不知道怎麼回答,感覺我程式設計就倆字死磕,錯了咋辦?再來一遍!不行咋辦?換個寫法試試!還不行?百度
數學建模(14)——MATLAB實現最小生成樹(Prim與Kruskal演算法)
Prim演算法 連通賦權圖如上 鄰接矩陣如下 0 50 60 0 0 0 0 0 0 0 65 4
數學建模演算法 一 簡述(1)蒙特卡洛演算法
蒙特卡羅方法概述 蒙特卡羅方法又稱統計模擬法、隨機抽樣技術,是一種隨機模擬方法,以概率和統計理論方法為基礎的一種計算方法,是使用隨機數(或更常見的偽隨機數)來解決很多計算問題的方法。將所求解的問題同一定的概率模型相聯絡,用電子計算機實現統計模擬或抽樣,以獲得問
【轉】MATLAB實現構造Euler環遊圖的演算法——數學建模
我們專業課(數學建模)講的東西由七橋堡問題而來的Euler環遊。 如下圖,要將其變為Euler環遊圖。 %首先給出一個矩陣(相鄰表示1,不相鄰表示0),用來表示圖1。 v = 0 1 0 0 0 0 0 1
數學建模--matlab基礎知識
ssa env 管理 更換 ceil recent font 必須 ray 雖然python也能做數據分析,不過參加數學建模,咱還是用專業的 1. Matlab-入門篇:Hello world! 程序員入門第一式: disp(‘hello world!’) 2. 基本
[數學建模(六)]使用MATLAB實現插值
數值 font 多項式 not new pie 插值法 包含 data 常用的插值:拉格朗日多項式插值、牛頓插值、分段線性插值、Hermite 插值和三次樣條插值。 1.拉格朗日插值法 function y=lagrange(x0,y0,x); n=length(x0)
[數學建模(八)]使用MATLAB繪圖1
基本 barh 分享 com 自定義 subplot mes 1.2 img 目錄 1..二維圖 1.1 基本畫圖功能 1.2 plot參數說明 :線條類型,點類型,顏色 1.3 坐標軸定標和圖形說明 1.4 子圖 :subplot 1.5 其他類型的二維圖
MATLAB在數學建模中的應用(三)
dash 以及 cxf 原始的 計算 而後 輸入輸出變量 tran fcm optimset函數 功能:創建或編輯優化選項參數結構。 語法: 1 options = optimset(‘param1’,value1,’para
MATLAB在數學建模中的應用
整數規劃 ... .net 6.4 2.4 down 課本 sdn 曲線 接下來的三周都會研讀《MATLAB在數學建模中的應用》這本書,在此把敲過的課本習題代碼,以及更詳細的代碼註釋Po出。 插值與擬合 1)指定函數的擬合 1
數學建模入門之MATLAB實現人口預測
人口問題是我國最大社會問題之一,估計人口數量和發展趨勢是我們制定一系列相關政策的基礎。從人口統計年鑑,可查我國從1990年至2010年人口資料資料如下,試根據表中資料,分析人口增長的規律,並以此預測2011年和2012年的人口數量,然後與實際人口數量做對比,評價模型的優劣,並對我國人口政策提出建
數學建模 of python(用遺傳演算法解決TSP問題)
吉吉: 在這個問題中,我們的個體就是一條一條的路線了,其目的就是找到一條總距離最短的路線。基本步驟與前兩篇文章基本類似,不過在本問題中,我們用城市路線中每個城市的經緯度來表示個體(城市路線)的DNA。 在產生後代的過程中,需要注意的是,因為我們的個體是路線,所以不能將兩個
數學建模:圖論模型-Floyd演算法
緊接著來介紹一下圖論模型的另一種演算法——Floyd演算法,然後介紹其在MATLAB中的實現方法: Floyd演算法:Floyd演算法是一個經典的動態規劃演算法。用通俗的語言來描述的話,首先我們的目標是尋找從點i到點j的最短 路徑。從動態規劃的角度看問題,我們需要為這個目標重新做一個詮釋(這個詮
數學建模:圖論模型-Dijkstra演算法
下面來介紹一下圖論模型中的Dijkstra演算法的基本原理和在MATLAB中的建模模擬; 圖論模型-Dijkstra演算法:Dijkstra演算法能求一個頂點到另一頂點最短路徑。它是由Dijkstra於1959年提出的。實際它能出始點到 其它所有頂點的最短路徑。Dijkstra演算法是一種標號法