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