⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fta0319.m

📁 MATLAB实现基于蒙特靠罗方法的故障树仿真
💻 M
字号:
clear,close all;
Tmax=100000;%仿真工作时间
M=1000;%时间间隔
del_t=Tmax/M;
for r=1:M
    t(r)=r*del_t;
end
NS=1000;%仿真次数
t1=normrnd(20000,1500,NS,1);
t2=normrnd(18000,1300,NS,1);
t3=exprnd(25000,NS,1);
t4=exprnd(20000,NS,1);
t5=exprnd(20000,NS,1);
t6=normrnd(18500,150,NS,1);
t7=exprnd(1000,NS,1);
t8=exprnd(21500,NS,1);
t9=exprnd(21500,NS,1);
t10=exprnd(18000,NS,1);

T=[t1,t2,t3,t4,t5,t6,t7,t8,t9,t10];%得到仿真数据
NUM=zeros(NS,10);
tk=zeros(1,NS);
for L=1:NS
    tt=T(L,:);       %抽样原始值
    ttf=sort(T(L,:));%排序后的抽样值(由小到大)
    Z=zeros(1,10);   %将全部基本部件赋予初始值,即将它们置于有效状态
  for j=1:10
     for i=1:10
          if ttf(j)==tt(i)
              Z(i)=1;
              tk(L)=ttf(j);
              break;
          end
     end
        PHA=Z(2)+Z(5)*Z(6)+Z(3)+Z(1)+Z(7)*Z(8)+Z(4)+Z(9)*Z(10);
        if PHA==1
         NUM(L,i)=NUM(L,i)+1;
         break;
        end    
   end
end
delete=0;
for i=1:NS
    if tk(i)>Tmax
        delete=delete+1;
    end
end
deta_m=zeros(1,M);
for n=1:NS
     if tk(n)<=t(1)
            deta_m(1)=deta_m(1)+1;
     end
    for r=2:M
       if tk(n)>t(r-1)&&tk(n)<=t(r)
          deta_m(r)=deta_m(r)+1;
       end
    end
end
for r=1:M
   m(r)=sum(deta_m(1:r));
end
F=m/NS;
R=1-m/NS;
plot(F)
figure,plot(R)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -