当前位置: 首页 > news >正文

故障树分析蒙特卡洛仿真程序(附MATLAB完整代码)

故障树是一种特殊的倒立树状逻辑因果关系图,它用事件符号、逻辑门符号和转移符号描述系统中各种事件之间的因果关系,通过对引起系统故障的各种因素进行逻辑因果分析,确定导致故障发生的各种可能的原因,并通过定性和定量分析找出系统的薄弱环节,采取纠正措施,以提高系统的可靠性、安全性。蒙特卡洛仿真是简单有效的一种方法求解该问题,对于给出的寿命矩阵进行仿真分析,得到失效率、可靠度。

MATLAB实现代码如下:

主程序 main.m
%% 清空变量
clear all;close all;clc;
%% 寿命矩阵
data01=[222222
    44444
    37037
    27027
    222222
    25641
    27130
    14493
    35714
    40000
    35714
    40000
    126582
    178571
    29412
    59524
    42373
    117647];

Time_max=max(data01);%仿真工作time
Interval=8000;%间隔
del_t=Time_max/Interval;
t=zeros(Interval,1);
for r=1:Interval
    t(r)=r*del_t;
end
number_simu=1000;%仿真次数设置
%% 定义基本部件
t1=exprnd(data01(1),number_simu,1);%
t2=exprnd(data01(2),number_simu,1);%
t3=exprnd(data01(3),number_simu,1);
t4=exprnd(data01(4),number_simu,1);
t5=exprnd(data01(5),number_simu,1);
t6=exprnd(data01(6),number_simu,1);
t7=exprnd(data01(7),number_simu,1);
t8=exprnd(data01(8),number_simu,1);
t9=exprnd(data01(9),number_simu,1);
%% 定义事件
t10=exprnd(data01(10),number_simu,1);
t11=exprnd(data01(11),number_simu,1);
t12=exprnd(data01(12),number_simu,1);
t13=exprnd(data01(13),number_simu,1);
t14=exprnd(data01(14),number_simu,1);
t15=exprnd(data01(15),number_simu,1);
t16=exprnd(data01(16),number_simu,1);
t17=exprnd(data01(17),number_simu,1);
t18=exprnd(data01(18),number_simu,1);
Simudata=[t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18];%设置仿真数据
number01=zeros(number_simu,18);
k01=zeros(1,number_simu);
for L=1:number_simu
    time02=Simudata(L,:);       %原始值的抽样
    ttime03=sort(Simudata(L,:));%由小到大排序的抽样值
    omiga=zeros(1,18);   %将全部基本部件等赋予初始值使其处于有效状态
    for j=1:18
        for i=1:18
            if ttime03(j)==time02(i)
                omiga(i)=1;
                k01(L)=ttime03(j);
                break;
            end
        end
        Palpha=omiga(1)+omiga(2)+omiga(3)+omiga(5)*omiga(6)+omiga(7)*omiga(8)+omiga(4)+omiga(9)*omiga(10)+omiga(11)*omiga(12)+omiga(12)*omiga(14)+omiga(15)*omiga(16)+omiga(17)*omiga(18);
        if Palpha==1
            number01(L,i)=number01(L,i)+1;
            break;
        end
    end
end
dele01=0;
for i=1:number_simu
    if k01(i)>Time_max
        dele01=dele01+1;
    end
end
deta_m=zeros(1,Interval);
for n=1:number_simu
    if k01(n)<=t(1)
        deta_m(1)=deta_m(1)+1;
    end
    for r=2:Interval
        if k01(n)>t(r-1)&&k01(n)<=t(r)
            deta_m(r)=deta_m(r)+1;
        end
    end
end
mis01=zeros(Interval,1);
for r=1:Interval
    mis01(r)=sum(deta_m(1:r));
end
F=mis01/number_simu;
R=1-mis01/number_simu;
%% 绘图
drawplotfun(F,R)

绘图子程序drawplotfun.m

function drawplotfun(F,R)
%% 绘图程序
figure;
plot((1-F(1:1000)).^3/5);
xlabel('仿真时间(h)');
ylabel('失效率');
title('失效率');
figure;
plot(R(1:1000).^2);
xlabel('仿真时间(h)');
ylabel('可靠度');
title('可靠度')

%% 可靠度积分函数
I=zeros(800,1);
for i=2:800
    I(i,1)=trapz(1:i,R(1:i).^2.5)*6;
end
I
figure;
plot(I);
xlabel('仿真时间(h)');
ylabel('可靠度积分');
title('可靠度积分函数')

程序结果如下:

需要讨论的可以加QQ1579325979

参考文献:

1.基于故障树的蒙特卡罗仿真 在可靠性评估中的应用  文建国,孙作佩,陈争新

相关文章:

故障树分析蒙特卡洛仿真程序(附MATLAB完整代码)

故障树是一种特殊的倒立树状逻辑因果关系图&#xff0c;它用事件符号、逻辑门符号和转移符号描述系统中各种事件之间的因果关系&#xff0c;通过对引起系统故障的各种因素进行逻辑因果分析&#xff0c;确定导致故障发生的各种可能的原因&#xff0c;并通过定性和定量分析找出系…...

数据结构-线性表

文章目录 数据结构—线性表1.线性表的定义和基本操作线性表的定义线性表的特点线性表的基本操作 2.线性表的顺序存储和链式存储表示顺序存储链式存储单链表循环链表双向链表 数据结构—线性表 1.线性表的定义和基本操作 线性表的定义 定义&#xff1a;线性表是具有相同数据类…...

java金额数字转中文

java金额数字转中文 运行结果&#xff1a; 会进行金额的四舍五入。 工具类源代码&#xff1a; /*** 金额数字转为中文*/ public class NumberToCN {/*** 汉语中数字大写*/private static final String[] CN_UPPER_NUMBER {"零", "壹", "贰",…...

Ubuntu findfont: Font family ‘SimHei‘ not found.

matplotlib中文乱码显示 当我们遇到这样奇怪的问题时, 结果往往很搞笑 尝试1不行 Stopping Jupyter Installing font-manager: sudo apt install font-manager Cleaning the matplotlib cache directory: rm ~/.cache/matplotlib -fr Restarting Jupyter. 尝试2 This work fo…...

mysql小知识

什么是sql语句的子查询 SQL语句的子查询是指在一个SQL语句中嵌套另一个SQL语句。子查询可以嵌套在主查询的FROM子句、WHERE子句、HAVING子句、SELECT子句或INSERT语句中。 子查询可以返回一个结果集&#xff0c;这个结果集可以被主查询使用。子查询通常用于获取需要在主查询中使…...

Unity中URP下逐顶点光照

文章目录 前言一、之前额外灯逐像素光照的数据准备好后&#xff0c;还有最后的处理二、额外灯的逐顶点光照1、逐顶点额外灯的光照颜色2、inputData.vertexLighting3、surfaceData.albedo 前言 在上篇文章中&#xff0c;我们分析了Unity中URP下额外灯&#xff0c;逐像素光照中聚…...

Spring Boot3整合Druid(监控功能)

目录 1.前置条件 2.导依赖 错误依赖&#xff1a; 正确依赖&#xff1a; 3.配置 1.前置条件 已经初始化好一个spring boot项目且版本为3X&#xff0c;项目可正常启动。 作者版本为3.2.2 初始化教程&#xff1a; 新版idea创建spring boot项目-CSDN博客https://blog.csdn…...

使用Gin框架,快速开发高效的Go Web应用程序

推荐 海鲸AI-GPT4.0国内站点&#xff1a;https://www.atalk-ai.com 前言 在当今的软件开发领域&#xff0c;Go语言以其简洁的语法和出色的性能逐渐成为开发者们的新宠。而Gin框架&#xff0c;则是Go语言中最受欢迎的Web框架之一&#xff0c;它以高性能和易用性著称。本文将带你…...

【Unity】【游戏开发】Pico打包后项目出现运行时错误如何Debug

【背景】 开发过程中的报错可以通过控制台查看&#xff0c;但是PICO项目这类依赖特定设备环境的应用往往存在打包后在设备端发生运行时错误。这时如何能查看到Debug信息呢&#xff1f; 【分析】 Pico也是安卓系统&#xff0c;所以这个问题就可以泛化为Unity有哪些在安卓端运…...

一种解决常用存储设备无法被电脑识别的方法

一、通用串行总线控制器描述 通用串行总线&#xff08;Universal Serial Bus&#xff0c;简称USB&#xff09;&#xff0c;是连接电脑与设备的一种序列总线标准&#xff0c;也是一种输入输出&#xff08;I/O&#xff09;连接端口的技术规范&#xff0c;广泛应用于个人电脑和移动…...

Spark运行架构以及容错机制

Spark运行架构以及容错机制 1. Spark的角色区分1.1 Driver1.2 Excuter 2. Spark-Cluster模式的任务提交流程2.1 Spark On Yarn的任务提交流程2.1.1 yarn相关概念2.1.2 任务提交流程 2.2 Spark On K8S的任务提交流程2.2.1 k8s相关概念2.2.2 任务提交流程 3. Spark-Cluster模式的…...

短剧APP小程序源码 全开源短视频系统源码/h5/app/小视频系统

主要功能介绍&#xff1a; 小剧场短剧影视小程序源码 全开源 带支付收益等模式 付费短剧小程序源码 多平台小程序支持 项目功能介绍 支持无限滑动 高性能滑动 预加载 视频预览 支持剧情介绍,集合壁纸另外仿抖音滑动效果 支持会员模式,支持用户单独购买等等多功能 本系统&…...

深度学习中图像分类、目标检测、语义分割、实例分割哪个难度大,哪个检测精度容易实现,哪个速度低。请按照难度、精度容易实现程度、速度排名。

问题描述&#xff1a;深度学习中图像分类、目标检测、语义分割、实例分割哪个难度大&#xff0c;哪个检测精度容易实现&#xff0c;哪个速度低。请按照难度、精度容易实现程度、速度排名。 问题解答&#xff1a; 以下是一般情况下深度学习中图像分类、目标检测、语义分割、实…...

【AI视野·今日NLP 自然语言处理论文速览 第七十五期】Thu, 11 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Thu, 11 Jan 2024 Totally 36 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Leveraging Print Debugging to Improve Code Generation in Large Language Models Authors Xueyu Hu, Kun K…...

数据结构:搜索二叉树 | 红黑树 | 验证是否为红黑树

文章目录 1.红黑树的概述2.红黑树的性质3.红黑树的代码实现3.1.红黑树的节点定义3.2.红黑树的插入操作3.3.红黑树是否平衡 黑红树是一颗特殊的搜索二叉树&#xff0c;本文在前文的基础上&#xff0c;图解红黑树插入&#xff1a;前文 链接&#xff0c;完整对部分关键代码展示&a…...

数据结构顺序表

思维导图 练习 头文件 1 #ifndef __HEAD_H__2 #define __HEAD_H__3 4 5 #include <stdio.h>6 #include <string.h>7 #include <stdlib.h>8 9 10 #define MAXSIZE 711 typedef int datatype;12 enum13 {14 FLASE-1,15 SUCCESS16 };17 //定义顺序表&a…...

手把手教你优雅的安装虚拟机 Ubuntu —— 图文并茂

目录 Ubuntu 获取Vmware 安装新建虚拟机Ubuntu 安装虚拟机工具安装更多内容 本文教你如何优雅的在虚拟机中安装 Ubuntu&#xff0c;图文并茂、包教包会&#xff01; Ubuntu 获取 Ubuntu 官网镜像下载速度较慢&#xff0c;建议从国内镜像网站下载&#xff0c;如网易、中科大、…...

源 “MySQL 5.7 Community Server“ 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。

源 “MySQL 5.7 Community Server” 的 GPG 密钥已安装&#xff0c;但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。 失败的软件包是&#xff1a;mysql-community-server-5.7.44-1.el7.x86_64 GPG 密钥配置为&#xff1a;file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql…...

springboot核心有几层架构

Spring Boot核心有四层架构&#xff1a; 应用层&#xff1a;包含应用程序的入口点和控制器层。这层负责接收请求、处理业务逻辑&#xff0c;并返回响应结果。 服务层&#xff1a;包含业务逻辑的实现。这层负责处理各种业务逻辑&#xff0c;例如数据处理、事务管理等。 数据访…...

css3表格练习

1.效果图 2.html <div class"line"></div><h3>获奖名单</h3><!-- 表格 cellspacing内边距 cellpadding外边距--><table cellspacing"0" cellpadding"0" ><!-- thead表头 --><thead><tr>…...

从Scratch图形化到Python代码:用树莓派给LeArm机械臂做二次开发实战

从Scratch图形化到Python代码&#xff1a;用树莓派给LeArm机械臂做二次开发实战 当Scratch积木块拼接的机械臂动作开始显得单调时&#xff0c;便是时候揭开底层控制的神秘面纱了。本文将带您跨越图形化编程的舒适区&#xff0c;用树莓派的Python环境重新定义LeArm机械臂的智能—…...

STM32CubeIDE实战指南:从代码编译到一键下载的完整流程解析

1. STM32CubeIDE开发环境概述 对于刚接触STM32开发的工程师来说&#xff0c;选择一款合适的集成开发环境(IDE)至关重要。STM32CubeIDE是ST官方推出的免费开发工具&#xff0c;它集成了代码编辑、编译、调试和下载功能于一体&#xff0c;特别适合新手快速上手。我在实际项目中使…...

攻克R与Python的壁垒:Giotto空间转录组分析环境一站式搭建指南

1. 为什么你的Giotto安装总是失败&#xff1f; 每次看到空间转录组数据就手痒想用Giotto分析&#xff0c;结果安装环节就被劝退&#xff1f;这可能是大多数生物信息学新手都会遇到的尴尬。作为一个在生信领域摸爬滚打多年的"环境配置工程师"&#xff0c;我太理解这种…...

通用框架操作系统:统一异构应用框架的运行时与治理平台

1. 项目概述&#xff1a;一个面向未来的通用框架操作系统最近在开源社区里&#xff0c;一个名为TELLEBO/universal-framework-os的项目引起了我的注意。乍一看这个标题&#xff0c;可能会觉得有点“大词”堆砌的感觉——“通用”、“框架”、“操作系统”&#xff0c;每一个词单…...

基于PIR传感器与LIFX智能灯泡的物联网运动感应照明系统实战

1. 项目概述与核心价值如果你对智能家居自动化感兴趣&#xff0c;并且想亲手打造一个既实用又有趣的照明项目&#xff0c;那么这个基于Adafruit FunHouse和LIFX智能灯泡的运动感应照明系统&#xff0c;绝对是一个绝佳的起点。它不仅仅是一个“开灯关灯”的简单触发器&#xff0…...

Unity区域加载系统:实现开放世界无缝加载与内存优化

1. 项目概述&#xff1a;一个高效、可扩展的Unity区域加载系统 最近在做一个开放世界风格的项目&#xff0c;场景大了之后&#xff0c;加载卡顿和内存管理就成了老大难问题。传统的Unity场景加载&#xff0c;要么一股脑全塞进内存&#xff0c;要么就得自己写一堆脚本来手动控制…...

终极ThinkPad风扇控制指南:告别噪音,拥抱静音高效

终极ThinkPad风扇控制指南&#xff1a;告别噪音&#xff0c;拥抱静音高效 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 你是否曾经因为ThinkPad风扇的"直升机起…...

CI/CD安全最佳实践:保护软件交付流程

CI/CD安全最佳实践&#xff1a;保护软件交付流程 一、CI/CD安全最佳实践概述 1.1 CI/CD安全最佳实践的定义 CI/CD安全最佳实践是指在持续集成和持续部署流程中实施的安全策略和措施。它涵盖代码提交、构建、测试、部署等各个阶段的安全防护。 1.2 CI/CD安全最佳实践的价值 安全…...

Arm Neoverse-V2/V3缓存与内存参数优化指南

1. Arm Neoverse-V2/V3集群架构概述Arm Neoverse系列处理器作为数据中心和基础设施领域的重要计算引擎&#xff0c;其V2/V3代架构在缓存子系统和内存管理方面进行了显著优化。作为从业多年的系统架构师&#xff0c;我认为理解这些处理器的参数配置对性能调优至关重要。Neoverse…...

阿里云百炼 - Claude Code 配置指南

Claude Code 是 Anthropic 推出的命令行 AI 编程助手&#xff0c;可以通过按量计费、Coding Plan 或 Token Plan 团队版接入阿里云百炼。 安装 Claude Code 安装 macOS Windows 在 Windows 上使用 Claude Code&#xff0c;需要安装 WSL 或 Git for Windows&#xff0c;然后…...