資源簡介
可靠性算法,蒙特卡羅法的Matlab源代碼,能夠考慮任意分布的隨機變量,考慮多個失效模式,里面包含部分測試例子,可直接在Matlab軟件中調(diào)用執(zhí)行,文件中包含詳細的注釋。
代碼片段和文件信息
function?MCS(NEN)
%蒙特卡羅法
%適用范圍:隨機變量為任意分布,變量間獨立
%適用范圍:可進行串聯(lián)多失效模式計算
%輸入?yún)?shù):NE?-?極限狀態(tài)函數(shù)索引,整數(shù)
%輸入?yún)?shù):N??-?抽樣數(shù)量,整數(shù)
????global?Prob
????clc
????tic
????if?nargin<1?NE?=?0;?end?????????????????????????????????%如果未定義方程索引,默認使用索引0
????if?nargin<2?N?=?10000000;?end???????????????????????????%如果未定義抽樣數(shù)量,默認使用10000000
????Prob?=?FunDist(?NE?);????????????????????????????????????%獲得方程相關(guān)公式、變量數(shù)目、變量參分布、變量參數(shù)
????x?=?XSamp(ProbN);???????????????????????????????????????%根據(jù)變量數(shù)目、分布、參數(shù),以及抽樣數(shù)量,生成變量隨機值
???
????%計算系統(tǒng)可靠性
????for?i=1:Prob.Ny
????????gValue(:i)=eval(Prob.Fung{i});??????????????????????%根據(jù)方程公式計算函數(shù)值
????end
????gmin=min(gValue[]2);???????????????????????????????????%假設(shè)所有失效模式為串聯(lián)關(guān)系,獲取所有函數(shù)值小于零索引
????XI=find(gmin<=0);????????????????????????????????????????%搜索所有g(shù)min值小于零的索引
????
????%
評論
共有 條評論