ReliabilityDistribution[bexpr,{{x1,dist1},{x2,dist2},…}]
表示一个系统的可靠性分布,其中元件 xi 具有可靠性分布 disti,当布尔表达式 bexpr 为 True,整个系统工作;当 xi 为 True,元件 xi 工作.
ReliabilityDistribution
ReliabilityDistribution[bexpr,{{x1,dist1},{x2,dist2},…}]
表示一个系统的可靠性分布,其中元件 xi 具有可靠性分布 disti,当布尔表达式 bexpr 为 True,整个系统工作;当 xi 为 True,元件 xi 工作.
更多信息
- ReliabilityDistribution[bexpr,…] 对应于可靠性框图规范.
- 布尔表达式 bexpr 也称之为系统的结构函数.
- 典型的结构函数包括:
-

串联系统 
并联系统 ![TemplateBox[{BooleanCountingFunction, paclet:ref/BooleanCountingFunction}, RefLink, BaseStyle -> {2ColumnTableMod}][{k,n},n] TemplateBox[{BooleanCountingFunction, paclet:ref/BooleanCountingFunction}, RefLink, BaseStyle -> {2ColumnTableMod}][{k,n},n]](Files/ReliabilityDistribution.zh/3.png)
k-n 系统 BooleanConsecutiveFunction[k,n] 连续的 k-n 系统 - 结构函数 bexpr 可以是任何正单边(unate)布尔函数.
- UnateQ[bexpr] 可用于检验布尔表达式是否为正单边(unate).
- 元件可靠性分布 disti 需要 PDF[disti,t] 为单变量分布,且当 t≤0 时为0.
- 对于具有元件指示器变量 xi 的 ReliabilityDistribution[bexpr,…]:
-
xiTrue 表明元件 xi 工作 xiFalse 表明元件 xi 失效 - 对于 ReliabilityDistribution[bexpr,{{x1,dist1},…}] 在时间 t 的生存函数由 Probability[bexpr/.{x1->t1>t,…},{t1disti,…}] 给定.
- ReliabilityDistribution 可与函数 Mean、SurvivalFunction、HazardFunction 和 RandomVariate 一起使用.
范例
打开所有单元 关闭所有单元基本范例 (3)
ℛ = ReliabilityDistribution[x∧y, {{x, ExponentialDistribution[Subscript[λ, 1]]}, {y, ExponentialDistribution[Subscript[λ, 2]]}}]Mean[ℛ]ℛ = ReliabilityDistribution[x∨y, {{x, ExponentialDistribution[Subscript[λ, 1]]}, {y, ExponentialDistribution[Subscript[λ, 2]]}}];Mean[ℛ]ℛ = ReliabilityDistribution[x∧(y∨z), {{x, ExponentialDistribution[3]}, {y, ExponentialDistribution[1]}, {z, ExponentialDistribution[2]}}];Table[Plot[df[ℛ, t], {t, 0, 2}, PlotLabel -> df, PlotRange -> All], {df, {SurvivalFunction, HazardFunction, PDF, CDF}}]{Mean[ℛ], Median[ℛ]}N[%]Probability[t < 0.5, tℛ]范围 (26)
基本用途 (4)
ℛ = ReliabilityDistribution[x∨y, {{x, WeibullDistribution[1, β]}, {y, ExponentialDistribution[2]}}];Mean[ℛ]Plot[%, {β, 0, 1}]求3个元件中2个工作的系统的 SurvivalFunction:
{𝒟1, 𝒟2, 𝒟3} = {ExponentialDistribution[1], ExponentialDistribution[2], ExponentialDistribution[3]};ℛ = ReliabilityDistribution[BooleanCountingFunction[{2, 3}, {x, y, z}], {{x, 𝒟1}, {y, 𝒟2}, {z, 𝒟3}}];SurvivalFunction[ℛ, t]Plot[%, {t, 0, 2}, Filling -> Axis, PlotRange -> All]{𝒟1, 𝒟2} = {StandbyDistribution[ExponentialDistribution[1 / 10], {ExponentialDistribution[1 / 5]}], WeibullDistribution[1, 7]};ℛ = ReliabilityDistribution[x∧y, {{x, 𝒟1}, {y, 𝒟2}}];NExpectation[t, tℛ]ℛ = ReliabilityDistribution[x∧y, {{x, ExponentialDistribution[1]}, {y, WeibullDistribution[2, 3]}}];data = RandomVariate[ℛ, 10 ^ 4];Show[
Histogram[data, {0, 4, 1 / 3}, "PDF"],
Plot[Evaluate[PDF[ℛ, x]], {x, 0, 4}, PlotStyle -> Thick], PlotRange -> All]结构函数 (7)
ℛ = ReliabilityDistribution[(x∧y)∧(z∨w), {{x, ExponentialDistribution[1]}, {y, ExponentialDistribution[1]}, {z, ExponentialDistribution[1]}, {w, ExponentialDistribution[1]}}];SurvivalFunction[ℛ, t]ℛ = ReliabilityDistribution[Majority[x, y, z], {{x, ExponentialDistribution[1]}, {y, ExponentialDistribution[1]}, {z, ExponentialDistribution[1]}}];SurvivalFunction[ℛ, t]Subscript[𝒟, c] = ExponentialDistribution[1];ℛ = ReliabilityDistribution[BooleanCountingFunction[{3, 4}, {x, y, z, v}], {{x, Subscript[𝒟, c]}, {y, Subscript[𝒟, c]}, {z, Subscript[𝒟, c]}, {v, Subscript[𝒟, c]}}];SurvivalFunction[ℛ, t]ℛ = ReliabilityDistribution[¬x⊽¬y, {{x, WeibullDistribution[α, β]}, {y, ErlangDistribution[k, λ]}}];CDF[ℛ, t]使用 UnateQ 检验布尔表达式是否为正单边(unate):
UnateQ[¬x⊽¬y]𝒟 = ExponentialDistribution[1];ℛinner = ReliabilityDistribution[BooleanCountingFunction[{2, 3}, {x, y, z}], {{x, 𝒟}, {y, 𝒟}, {z, 𝒟}}];ℛouter = ReliabilityDistribution[BooleanCountingFunction[{2, 3}, {v, w, a}], {{v, ℛinner}, {w, ℛinner}, {a, ℛinner}}];SurvivalFunction[ℛouter, t]𝒟 = ExponentialDistribution[1];ℛcomponent = ReliabilityDistribution[x∨y, {{x, 𝒟}, {y, 𝒟}}];ℛ = ReliabilityDistribution[BooleanConsecutiveFunction[2, 3][z, v, w], {{z, ℛcomponent}, {v, ℛcomponent}, {w, ℛcomponent}}];SurvivalFunction[ℛ, t]𝒟 = ExponentialDistribution[1];ℛ1 = ReliabilityDistribution[BooleanConsecutiveFunction[2, 3][z, v, w], {{z, 𝒟}, {v, 𝒟}, {w, 𝒟}}];
ℛ2 = ReliabilityDistribution[BooleanConsecutiveFunction[{2, True}, 3][z, v, w], {{z, 𝒟}, {v, 𝒟}, {w, 𝒟}}];ℛ = ReliabilityDistribution[x∧y, {{x, ℛ1}, {y, ℛ2}}];SurvivalFunction[ℛ, t]参数寿命分布 (5)
ℛ = ReliabilityDistribution[x∨y, {{x, ExponentialDistribution[1]}, {y, ExponentialDistribution[7]}}];Plot[HazardFunction[ℛ, t], {t, 0, 1}, Filling -> Axis, PlotRange -> All]使用任何包括 LogNormalDistribution 的参数寿命分布:
ℛ = ReliabilityDistribution[x∨y, {{x, ExponentialDistribution[1]}, {y, LogNormalDistribution[1, 2]}}];NExpectation[t, tℛ]ℛ = ReliabilityDistribution[x∨y, {{x, ExponentialDistribution[λ]}, {y, GammaDistribution[2, β]}}];μ = Mean[ℛ]Plot3D[μ, {λ, 1 / 2, 4}, {β, 0, 2}]Limit[μ, λ -> ∞] == Mean[GammaDistribution[2, β]]{Subscript[𝒟, 1], Subscript[𝒟, 2]} = {WeibullDistribution[2, β], ExponentialDistribution[1 / (Sqrt[π] β / 2)]};Mean /@ {Subscript[𝒟, 1], Subscript[𝒟, 2]}{Subscript[ℛ, P], Subscript[ℛ, S]} = Map[ReliabilityDistribution[#[x, y], {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}}]&, {Or, And}];Plot[Evaluate[Mean /@ {Subscript[ℛ, P], Subscript[𝒟, 1], Subscript[ℛ, S]}], {β, 0, 10}, PlotLegends -> {"SubscriptBox[ℛ, P]", "SubscriptBox[𝒟, 1]", "SubscriptBox[ℛ, S]"}]{Subscript[𝒟, 1] = PoissonDistribution[10], Subscript[𝒟, 2] = PoissonDistribution[11]};ℛ = ReliabilityDistribution[x∧y, {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}}];NExpectation[t, tℛ]绘制 SurvivalFunction 图线:
DiscretePlot[SurvivalFunction[ℛ, t], {t, 0, 10}]非参数寿命分布 (3)
使用 SmoothKernelDistribution 模拟飞机玻璃的强度:
data = ExampleData[{"Statistics", "AirplaneGlass"}]𝒟 = TruncatedDistribution[{0, ∞}, SmoothKernelDistribution[data]]ℛ = ReliabilityDistribution[x∧y, {{x, 𝒟}, {y, ExponentialDistribution[1 / 30]}}];SurvivalFunction[ℛ, t]Plot[SurvivalFunction[ℛ, x], {x, 0, 50}]用 HistogramDistribution 模拟元件:
hd = HistogramDistribution[RandomVariate[WeibullDistribution[1, 2], 1000]];ℛ = ReliabilityDistribution[x∧y, {{x, hd}, {y, ExponentialDistribution[1 / 30]}}]{Subscript[𝒟, two], Subscript[𝒟, three]} = {ReliabilityDistribution[x∧y, {{x, hd}, {y, hd}}],
ReliabilityDistribution[x∧y∧z, {{x, hd}, {y, hd}, {z, hd}}]};Plot[{SurvivalFunction[Subscript[𝒟, two], t], SurvivalFunction[Subscript[𝒟, three], t]}, {t, 0, 5}, Filling -> Axis, Exclusions -> None, PlotPoints -> 200, PlotLegends -> {"SubscriptBox[𝒟, two]", "SubscriptBox[𝒟, three]"}]直接从具有 EmpiricalDistribution 的数据中模拟元件:
data = ExampleData[{"Statistics", "AirplaneGlass"}];Histogram[data]ℰ = EmpiricalDistribution[data]Plot[SurvivalFunction[ℰ, t], {t, 0, 50}, PlotPoints -> 100]ℛ = ReliabilityDistribution[x∧y, {{x, ℰ}, {y, GeometricDistribution[1 / 30]}}];Plot[SurvivalFunction[ℛ, x], {x, 0, 50}]导出的寿命分布 (7)
用 StandbyDistribution 模拟一个元件:
{Subscript[𝒟, 1], Subscript[𝒟, 2]} = {ExponentialDistribution[1 / 10], ExponentialDistribution[2 / 5]};𝒮 = StandbyDistribution[Subscript[𝒟, 1], {Subscript[𝒟, 2], Subscript[𝒟, 2]}];ℛ = ReliabilityDistribution[x∨y, {{x, Subscript[𝒟, 1]}, {y, 𝒮}}];NExpectation[t, tℛ]绘制 SurvivalFunction:
Plot[SurvivalFunction[ℛ, t]//Evaluate, {t, 0, 40}]{Subscript[𝒟, 1], Subscript[𝒟, 2], Subscript[𝒟, 3]} = {ExponentialDistribution[Subscript[λ, 1]], ExponentialDistribution[Subscript[λ, 2]], ExponentialDistribution[Subscript[λ, 3]]};Subscript[ℛ, 1] = ReliabilityDistribution[x∨y, {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}}];ℛ = ReliabilityDistribution[z∧v, {{z, Subscript[ℛ, 1]}, {v, Subscript[𝒟, 3]}}];Mean[ℛ]Mean[ReliabilityDistribution[(x∨y)∧v, {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}, {v, Subscript[𝒟, 3]}}]]FullSimplify[%% - %]用 StandbyDistribution 模拟一个元件:
{Subscript[𝒟, 1], Subscript[𝒟, 2]} = {StandbyDistribution[ExponentialDistribution[1], {ExponentialDistribution[2]}], ExponentialDistribution[3]};ℛ = ReliabilityDistribution[x∧y, {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}}];Plot[Evaluate[SurvivalFunction[#, t]& /@ {Subscript[𝒟, 1], ℛ}], {t, 0, 4}, Filling -> Axis, PlotLegends -> {"SubscriptBox[𝒟, 1]", "ℛ"}]具有 ParameterMixtureDistribution 的系统:
𝒟 = ParameterMixtureDistribution[GammaDistribution[2, β], βUniformDistribution[{1, 2}]];ℛ = ReliabilityDistribution[x∨y, {{x, 𝒟}, {y, ExponentialDistribution[λ]}}];SurvivalFunction[ℛ, t]模拟具有 MixtureDistribution 的两元件冷备用系统:
{Subscript[𝒟, 1], Subscript[𝒟, 2], Subscript[𝒟, 3]} = {ExponentialDistribution[Subscript[λ, 1]], ExponentialDistribution[Subscript[λ, 2]], WeibullDistribution[α, β]};ℳ = MixtureDistribution[{p, 1 - p}, {TransformedDistribution[x + y, {xSubscript[𝒟, 1], ySubscript[𝒟, 2]}], Subscript[𝒟, 1]}];在 ReliabilityDistribution 中使用并计算生存函数:
ℛ = ReliabilityDistribution[x∨y, {{x, ℳ}, {y, Subscript[𝒟, 3]}}];SurvivalFunction[ℛ, t]显示与 StandbyDistribution 的等价:
SurvivalFunction[ReliabilityDistribution[x∨y, {{x, StandbyDistribution[Subscript[𝒟, 1], {Subscript[𝒟, 2]}, p]}, {y, Subscript[𝒟, 3]}}], t]FullSimplify[%% - %]OrderDistribution 可用于模拟元件寿命:
{Subscript[𝒟, 1], Subscript[𝒟, 2]} = {OrderDistribution[{ExponentialDistribution[3], 5}, 3], WeibullDistribution[1 / 10, 2]};ℛ = ReliabilityDistribution[x∨y, {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}}];sf = SurvivalFunction[ℛ, t]绘制 SurvivalFunction:
Plot[sf, {t, 0, 2}]MarginalDistribution 可用于模拟元件寿命:
𝒟 = ProbabilityDistribution[6 x ^ 2 y, {x, 0, 1}, {y, 0, 1}];ℳ1 = MarginalDistribution[𝒟, 1];ℛ = ReliabilityDistribution[x∨y, {{x, ℳ1}, {y, ExponentialDistribution[1]}}];SurvivalFunction[ℛ, t]绘制 SurvivalFunction:
Plot[%, {t, 0, 3}]应用 (12)
hangarDoor = power∨manual;fuelTransferA2 = power∧pumpA2;fuelTransferB2 = power∧pumpB2;fuelTransfer = (pumpA1∧(pumpB1∨fuelTransferB2))∨(fuelTransferA2∧(pumpB1∨fuelTransferB2));launch = fuelStorage∧fuelTransfer∧hangarDoor∧deicing;vars = {deicing, fuelStorage, manual, power, pumpA1, pumpB1, pumpA2, pumpB2};lifetimes = ExponentialDistribution /@ {10^-7, 10^-8, 10^-3, λ, 5×10^-4, 5×10^-4, 5×10^-4, 5×10^-4};dists = Transpose[{vars, lifetimes}];ℛ = ReliabilityDistribution[launch, dists];sf = SurvivalFunction[ℛ, t];μ = Mean[ℛ];Plot[Evaluate[Table[Legended[sf /. λ -> f, TraditionalForm[λ == f]], {f, {2×10^-4, 1×10^-4, 1 / 2×10^-4}}]], {t, 0, 5000}]Table[μ /. λ -> f, {f, {2×10^-4, 1×10^-4, 1 / 2×10^-4}}]//N小的电子加速器中真空系统包含 20 个排成圆圈的真空灯泡. 如果至少三个邻接的真空灯泡失效,则真空系统会失效:
n = 20;k = 3;bexpr = And@@Map[Or@@#&, Partition[Array[Subscript[x, #]&, n], k, 1, {-1, -1}]];dists = Array[{Subscript[x, #], ExponentialDistribution[1]}&, n];ℛ = ReliabilityDistribution[bexpr, dists];Plot[SurvivalFunction[ℛ, t]//Evaluate, {t, 0, 1}]Mean[ℛ]//N卫星需要由太阳能电池板充电的电池供电. 计算系统能够经得起考验的负载周期数:
𝒟Battery = ExponentialDistribution[1 / 300];
𝒟Solarpanels = ExponentialDistribution[1 / 1000];𝒮battery = StandbyDistribution[𝒟Battery, {𝒟Battery}];ℛsatellite = ReliabilityDistribution[solarpanel∧battery, {{solarpanel, 𝒟Solarpanels}, {battery, 𝒮battery}}];μ = NExpectation[t, tℛsatellite]Plot[SurvivalFunction[ℛsatellite, t], {t, 0, 600}, Filling -> Axis]ListPlot[{RandomVariate[ℛsatellite, 100], {{0, μ}, {100, μ}}}, Joined -> {False, True}, Filling -> Axis, AxesOrigin -> {0, 0}]ExampleData[{"Statistics", "FatigueLifeFailures"}, "LongDescription"]data = ExampleData[{"Statistics", "FatigueLifeFailures"}];d = EstimatedDistribution[data, ErlangDistribution[α, β]]ℛ = ReliabilityDistribution[BooleanCountingFunction[{3, 4}, {x, y, z, v}], {{x, d}, {y, d}, {z, d}, {v, d}}];Plot[SurvivalFunction[ℛ, t]//Evaluate, {t, 0, 100}]汽车有四个均要驾驶的轮胎. 给出轮胎的寿命分布为 ExponentialDistribution[0.0004],计算关于轮胎的汽车的失效率和失效平均时间:
𝒟 = ExponentialDistribution[0.0004];ℛcar = ReliabilityDistribution[x∧y∧z∧v, {{x, 𝒟}, {y, 𝒟}, {z, 𝒟}, {v, 𝒟}}];HazardFunction[ℛcar, t]Mean[ℛcar]ListPlot[{RandomVariate[ℛcar, 100], {{0, Mean[ℛcar]}, {100, Mean[ℛcar]}}}, Joined -> {False, True}, Filling -> Axis, AxesOrigin -> {0, 0}]为了飞行,飞机需要两个机翼,每个机翼上两个引擎中的一个以及空气控制系统操控. 模拟该引擎系统:
{𝒟Motor, 𝒟Fuel, 𝒟Cooling, 𝒟Propeller} = {WeibullDistribution[1.58, 4830], WeibullDistribution[1.44, 5130], WeibullDistribution[1.60, 4190], WeibullDistribution[1.63, 3740]};ℛSingleEngine = ReliabilityDistribution[motor∧fuel∧cooling∧propeller, {{motor, 𝒟Motor}, {fuel, 𝒟Fuel}, {cooling, 𝒟Cooling}, {propeller, 𝒟Propeller}}];ℛEngines = ReliabilityDistribution[(engine1∨engine2)∧(engine3∨engine4), {{engine1, ℛSingleEngine}, {engine2, ℛSingleEngine}, {engine3, ℛSingleEngine}, {engine4, ℛSingleEngine}}];parameters = {{1.85, 1.57, 2.25, 0.95, 0.73, 1.14, 0.92, 1.65}, {4729.02, 4718.22, 5843.58, 3956, 2672.1, 3977.39, 2895.62, 3994.78}};{𝒟Directional, 𝒟Longitudinal, 𝒟Lateral, 𝒟Flaps, 𝒟Trim, 𝒟Hydraulic, 𝒟LandingGear, 𝒟Steering} = Flatten[Transpose[{MapThread[WeibullDistribution, parameters]}]];ℛACS = ReliabilityDistribution[x1∧x2∧x3∧x4∧x5∧x6∧x7∧x8, {{x1, 𝒟Directional}, {x2, 𝒟Longitudinal}, {x3, 𝒟Lateral}, {x4, 𝒟Flaps}, {x5, 𝒟Trim}, {x6, 𝒟Hydraulic}, {x7, 𝒟LandingGear}, {x8, 𝒟Steering}}];𝒟Wing = WeibullDistribution[1.79, 4250];ℛAirplane = ReliabilityDistribution[enginesystem∧wing1∧wing2∧acs, {{enginesystem, ℛEngines}, {wing1, 𝒟Wing}, {wing2, 𝒟Wing}, {acs, ℛACS}}];NExpectation[t, tℛAirplane]NProbability[t ≥ 6, tℛAirplane]NProbability[t ≥ 500t ≥ 300, tℛAirplane]Plot[SurvivalFunction[ℛAirplane, t]//Evaluate, {t, 0, 2000}, Filling -> Axis]ListPlot[{RandomVariate[ℛAirplane, 100], {{0, NExpectation[t, tℛAirplane]}, {100, NExpectation[t, tℛAirplane]}}}, Joined -> {False, True}, Filling -> Axis, AxesOrigin -> {0, 0}]数据中心需要20台服务器,一个电源,一个冷却系统和一个网络连接. 电源有一个备份. 网络连接由两个并联连接组成. 模拟服务器:
ℛhdd = ReliabilityDistribution[BooleanCountingFunction[{2, 3}, {x, y, z}], {{x, WeibullDistribution[4, 1.25 10^6]}, {y, WeibullDistribution[4, 1.25 10^6]}, {z, WeibullDistribution[4, 1.25 10^6]}}];𝒟cpu = ExponentialDistribution[1 / 30000];
𝒟ram = WeibullDistribution[.82, 2500];ℛServer = ReliabilityDistribution[hdd∧cpu∧ram, {{hdd, ℛhdd}, {cpu, 𝒟cpu}, {ram, 𝒟ram}}];用 StandbyDistribution 模拟电源:
𝒮PowerSupply = StandbyDistribution[ExponentialDistribution[1 / 5000], {ExponentialDistribution[1 / 2000]}];𝒟Network = ParetoDistribution[1500, 10];
𝒟Cooling = ExponentialDistribution[1 / 5000];servervars = Table[Subscript[s, i], {i, 20}];
serverdists = Table[{i, ℛServer}, {i, servervars}];
ℛDatacenter = ReliabilityDistribution[(And@@servervars)∧power∧(net1∨net2)∧cooling, Join[serverdists, {{power, 𝒮PowerSupply}, {net1, 𝒟Network}, {net2, 𝒟Network}, {cooling, 𝒟Cooling}}]];NExpectation[t, tℛDatacenter]ListPlot[{RandomVariate[ℛDatacenter, 100], {{0, NExpectation[t, tℛDatacenter]}, {100, NExpectation[t, tℛDatacenter]}}}, Joined -> {False, True}, Filling -> Axis, AxesOrigin -> {0, 0}]bi = ImprovementImportance[ℛServer, t];Plot[MapThread[Legended, {bi, {hdd, cpu, ram}}]//Evaluate, {t, 0, 20}]{Subscript[𝒟, 1], Subscript[𝒟, 2], Subscript[𝒟, 3], Subscript[𝒟, 4]} = {ExponentialDistribution[λ], WeibullDistribution[5, 6], ErlangDistribution[3, 1], WeibullDistribution[4, 4]};ℛ = ReliabilityDistribution[x∨BooleanCountingFunction[{2, 3}, {y, z, v}], {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}, {z, Subscript[𝒟, 3]}, {v, Subscript[𝒟, 4]}}];Reduce[SurvivalFunction[ℛ, 5] ≥ 0.9995, λ, Reals]dists = Table[{Subscript[x, i], WeibullDistribution[5.87, 50]}, {i, 10}];
bexpr = And@@Table[Subscript[x, i], {i, 10}];
𝒟 = ReliabilityDistribution[bexpr, dists];ℛSolarGrid = ReliabilityDistribution[BooleanCountingFunction[{3, 5}, {x, y, z, v, w}]∧inverter, {{x, 𝒟}, {y, 𝒟}, {z, 𝒟}, {v, 𝒟}, {w, 𝒟}, {inverter, ExponentialDistribution[1 / 170]}}];NExpectation[t, tℛSolarGrid]ListPlot[{RandomVariate[ℛSolarGrid, 100], {{0, NExpectation[t, tℛSolarGrid]}, {100, NExpectation[t, tℛSolarGrid]}}}, Joined -> {False, True}, Filling -> Axis, AxesOrigin -> {0, 0}]销售太阳能电池板的公司提供10年的保证. 可以再添加10年. 求公司应如何给延长的保质期定价:
Probability[10 < t ≤ 20, tℛSolarGrid] * meanCostOfRepair + profit一家物流公司使用车、船和火车将货物交付给客户. 道路运输需要两三辆卡车和明确的道路路线. 船运需要正常运作的船舶和平静的天气条件,铁运需要一个正常运作的列车和轨道. 模拟道路运输:
{𝒟truck, 𝒟road} = {ExponentialDistribution[1 / 400], ExponentialDistribution[1 / 365]};
ℛroad = ReliabilityDistribution[BooleanCountingFunction[{2, 3}, {truck1, truck2, truck3}]∧roads, {{truck1, 𝒟truck}, {truck2, 𝒟truck}, {truck3, 𝒟truck}, {roads, 𝒟road}}];{𝒟ship, 𝒟sea} = {ExponentialDistribution[1 / 400], ExponentialDistribution[1 / 200]};
ℛmarine = ReliabilityDistribution[ship∧sea, {{ship, 𝒟ship}, {sea, 𝒟sea}}];{𝒟train, 𝒟railroad} = {WeibullDistribution[1 / 2, 150], ExponentialDistribution[1 / 200]};
ℛrailroad = ReliabilityDistribution[train∧railroad, {{train, 𝒟train}, {railroad, 𝒟railroad}}];ℛsupplychain = ReliabilityDistribution[roadtransport∨marine∨railroad, {{roadtransport, ℛroad}, {marine, ℛmarine}, {railroad, ℛrailroad}}];NExpectation[t, tℛsupplychain]公司考虑租赁一架飞机以改善分发的可靠性. 计算飞机能改善多少故障的平均时间:
{𝒟airplane, 𝒟airport} = {WeibullDistribution[1.06, 517], ExponentialDistribution[1 / 400]};
ℛflight = ReliabilityDistribution[airplane∧airport, {{airplane, 𝒟airplane}, {airport, 𝒟airport}}];ℛnewsupplychain = ReliabilityDistribution[oldsupplychain∨flight, {{oldsupplychain, ℛsupplychain}, {flight, ℛflight}}];NExpectation[t, tℛnewsupplychain]Plot[{SurvivalFunction[ℛsupplychain, t], SurvivalFunction[ℛnewsupplychain, t]}, {t, 0, 800}, Filling -> Axis, PlotLegends -> {"ℛsupplychain", "ℛnewsupplychain"}]假设 Charles Lindbergh 在纽约和巴黎之间可以选择一个或两个引擎的飞机. 调查哪个引擎的配置可以给出最高的可靠性:
𝒟 = ExponentialDistribution[1 / 200];ℛSingleEngine = ReliabilityDistribution[x, {{x, 𝒟}}];
ℛSerialEngines = ReliabilityDistribution[x∧y, {{x, 𝒟}, {y, 𝒟}}];
ℛParallelEngines = ReliabilityDistribution[x∨y, {{x, 𝒟}, {y, 𝒟}}];Plot[{Legended[SurvivalFunction[ℛSingleEngine, t], "One engine"], Legended[SurvivalFunction[ℛSerialEngines, t], "Serial engines"], Legended[SurvivalFunction[ℛParallelEngines, t], "Parallel engines"]}, {t, 0, 1200}, Filling -> Axis]最佳选择是并联两种引擎,但是这在当时不可行,因此 Lindbergh 选择一个引擎. 计算一个引擎存活33.5个小时飞行的概率:
Probability[t > 33.5, tℛSingleEngine]模拟发射进入太空的三个阶段:地面检测、发射阶段和进入轨道. 定义运行和待用模式的寿命分布:
{Subscript[𝒟, oGuidance], Subscript[𝒟, iGuidance], Subscript[𝒟, oIgnition], Subscript[𝒟, iIgnition], Subscript[𝒟, oSeparation], Subscript[𝒟, iSeparation], Subscript[𝒟, oPower], Subscript[𝒟, oCom], Subscript[𝒟, iCom], Subscript[𝒟, oInstrument], Subscript[𝒟, iInstrument], Subscript[𝒟, oPropulsion], Subscript[𝒟, structure]} = ExponentialDistribution[k # / 1000]& /@ {0.01, 0.0001, 0.1, 0.001, 0.01, 0.0001, 0.02, 0.05, 0.0005, 0.01, 0.0005, 0.05, 0.001};ground = guidance1∧guidance2∧ignition1A∧ignition1B∧ignition2A∧ignition2B∧separation1∧separation2∧powerA∧powerB∧comA∧comB∧instrumentA∧instrumentB∧structure;Subscript[ℛ, ground] = ReliabilityDistribution[ground, {{guidance1, Subscript[𝒟, iGuidance]}, {guidance2, Subscript[𝒟, iGuidance]}, {ignition1A, Subscript[𝒟, iIgnition]}, {ignition1B, Subscript[𝒟, iIgnition]}, {ignition2A, Subscript[𝒟, iIgnition]}, {ignition2B, Subscript[𝒟, iIgnition]}, {separation1, Subscript[𝒟, iSeparation]}, {separation2, Subscript[𝒟, iSeparation]}, {powerA, Subscript[𝒟, oPower]}, {powerB, Subscript[𝒟, oPower]}, {comA, Subscript[𝒟, iCom]}, {comB, Subscript[𝒟, iCom]}, {instrumentA, Subscript[𝒟, iInstrument]}, {instrumentB, Subscript[𝒟, oInstrument]}, {structure, Subscript[𝒟, structure]}} /. k -> 5];launch = guidance1∧guidance2∧(ignition1A∨ignition1B)∧propulsion1∧separation1∧(ignition2A∨ignition2B)∧propulsion2∧separation2∧(powerA∨powerB)∧(comA∨comB)∧instrumentA∧instrumentB∧structure;Subscript[ℛ, launch] = ReliabilityDistribution[launch, {{guidance1, Subscript[𝒟, oGuidance]}, {guidance2, Subscript[𝒟, iGuidance]}, {ignition1A, Subscript[𝒟, oIgnition]}, {ignition1B, Subscript[𝒟, oIgnition]}, {ignition2A, Subscript[𝒟, oIgnition]}, {ignition2B, Subscript[𝒟, oIgnition]}, {separation1, Subscript[𝒟, oSeparation]}, {separation2, Subscript[𝒟, oSeparation]}, {powerA, Subscript[𝒟, oPower]}, {powerB, Subscript[𝒟, oPower]}, {comA, Subscript[𝒟, oCom]}, {comB, Subscript[𝒟, oCom]}, {instrumentA, Subscript[𝒟, oInstrument]}, {instrumentB, Subscript[𝒟, iInstrument]}, {structure, Subscript[𝒟, structure]}, {propulsion1, Subscript[𝒟, oPropulsion]}, {propulsion2, Subscript[𝒟, oPropulsion]}} /. k -> 400];orbit = guidance2∧(powerA∨powerB)∧(comA∨comB)∧instrumentB∧structure;Subscript[ℛ, orbit] = ReliabilityDistribution[orbit, {{guidance2, Subscript[𝒟, oGuidance]}, {powerA, Subscript[𝒟, oPower]}, {powerB, Subscript[𝒟, oPower]}, {comA, Subscript[𝒟, oCom]}, {comB, Subscript[𝒟, oCom]}, {instrumentB, Subscript[𝒟, oInstrument]}, {structure, Subscript[𝒟, structure]}} /. k -> 1];如果地面检验使用24小时,发射为0.1小时,轨道阶段为100天,求成功的概率:
SurvivalFunction[Subscript[ℛ, ground], 24] * SurvivalFunction[Subscript[ℛ, launch], 0.1] * SurvivalFunction[Subscript[ℛ, orbit], 100 * 24]属性和关系 (14)
在输入中,ReliabilityDistribution 使用变量的局部名称:
ℛ = ReliabilityDistribution[x∨y, {{x, ExponentialDistribution[Subscript[λ, 1]]}, {y, ExponentialDistribution[Subscript[λ, 2]]}}]SurvivalFunction[ℛ, x]{Subscript[𝒟, 1], Subscript[𝒟, 2]} = {ExponentialDistribution[Subscript[λ, 1]], ExponentialDistribution[Subscript[λ, 2]]};Probability[τ < Subscript[t, 1]∧τ < Subscript[t, 2], {Subscript[t, 1]Subscript[𝒟, 1], Subscript[t, 2]Subscript[𝒟, 2]}]//PiecewiseExpandProbability[τ < Min[Subscript[t, 1], Subscript[t, 2]], {Subscript[t, 1]Subscript[𝒟, 1], Subscript[t, 2]Subscript[𝒟, 2]}]//PiecewiseExpandSurvivalFunction[ReliabilityDistribution[x∧y, {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}}], τ]FullSimplify[%% - %]{Subscript[𝒟, 1], Subscript[𝒟, 2]} = {ExponentialDistribution[Subscript[λ, 1]], ExponentialDistribution[Subscript[λ, 2]]};Probability[τ < Subscript[t, 1]∨τ < Subscript[t, 2], {Subscript[t, 1]Subscript[𝒟, 1], Subscript[t, 2]Subscript[𝒟, 2]}]//PiecewiseExpandProbability[τ < Max[Subscript[t, 1], Subscript[t, 2]], {Subscript[t, 1]Subscript[𝒟, 1], Subscript[t, 2]Subscript[𝒟, 2]}]//PiecewiseExpandSurvivalFunction[ReliabilityDistribution[x∨y, {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}}], τ]FullSimplify[%% - %]{Subscript[𝒟, 1], Subscript[𝒟, 2], Subscript[𝒟, 3]} = {ExponentialDistribution[Subscript[λ, 1]], ExponentialDistribution[Subscript[λ, 2]], ExponentialDistribution[Subscript[λ, 3]]};Probability[BooleanCountingFunction[{2, 3}, {τ < Subscript[t, 1], τ < Subscript[t, 2], τ < Subscript[t, 3]}], {Subscript[t, 1]Subscript[𝒟, 1], Subscript[t, 2]Subscript[𝒟, 2], Subscript[t, 3]Subscript[𝒟, 3]}]//PiecewiseExpandProbability[τ < RankedMin[{Subscript[t, 1], Subscript[t, 2], Subscript[t, 3]}, 2], {Subscript[t, 1]Subscript[𝒟, 1], Subscript[t, 2]Subscript[𝒟, 2], Subscript[t, 3]Subscript[𝒟, 3]}]//PiecewiseExpandSurvivalFunction[ReliabilityDistribution[BooleanCountingFunction[{2, 3}, {x, y, z}], {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}, {z, Subscript[𝒟, 3]}}], τ]FullSimplify[%% - %]同样元件的串联连接对应于 OrderDistribution:
d = ExponentialDistribution[λ];ℛ = ReliabilityDistribution[x∧y∧z, {{x, d}, {y, d}, {z, d}}];SurvivalFunction[ℛ, t] - SurvivalFunction[OrderDistribution[{d, 3}, 1], t]//FullSimplify同样元件的并联连接对应于 OrderDistribution:
ℛ = ReliabilityDistribution[x∨y∨z, {{x, d}, {y, d}, {z, d}}];SurvivalFunction[ℛ, t] - SurvivalFunction[OrderDistribution[{d, 3}, 3], t]//FullSimplify{Subscript[𝒟, 1], Subscript[𝒟, 2]} = {ExponentialDistribution[Subscript[λ, 1]], ExponentialDistribution[Subscript[λ, 2]]};ℛ = ReliabilityDistribution[x∧y, {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}}];𝒯 = TransformedDistribution[Min[t, s], {tSubscript[𝒟, 1], sSubscript[𝒟, 2]}];SurvivalFunction[𝒯, t] - SurvivalFunction[ℛ, t]//FullSimplify{Subscript[𝒟, 1], Subscript[𝒟, 2]} = {ExponentialDistribution[Subscript[λ, 1]], ExponentialDistribution[Subscript[λ, 2]]};ℛ = ReliabilityDistribution[x∨y, {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}}];𝒯 = TransformedDistribution[Max[t, s], {tSubscript[𝒟, 1], sSubscript[𝒟, 2]}];SurvivalFunction[ℛ, t]SurvivalFunction[𝒯, t]FullSimplify[%% - %]
-
系统对应于具有 RankedMin 函数的 TransformedDistribution:
{Subscript[𝒟, 1], Subscript[𝒟, 2], Subscript[𝒟, 3]} = {ExponentialDistribution[Subscript[λ, 1]], WeibullDistribution[1, β], ExponentialDistribution[Subscript[λ, 3]]};ℛ = ReliabilityDistribution[BooleanCountingFunction[{2, 3}, {x, y, z}], {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}, {z, Subscript[𝒟, 3]}}];𝒯 = TransformedDistribution[RankedMin[{x, y, z}, 2], {xSubscript[𝒟, 1], ySubscript[𝒟, 2], zSubscript[𝒟, 3]}];SurvivalFunction[ℛ, t]SurvivalFunction[𝒯, t]FullSimplify[%% - %]Subscript[𝒟, c] = ExponentialDistribution[λ];ℛ = ReliabilityDistribution[x∧y∧z, {{x, Subscript[𝒟, c]}, {y, Subscript[𝒟, c]}, {z, Subscript[𝒟, c]}}];SurvivalFunction[ℛ, t]SurvivalFunction[ExponentialDistribution[3λ], t]Subscript[𝒟, c] = WeibullDistribution[α, β];ℛ = ReliabilityDistribution[x∧y∧z, {{x, Subscript[𝒟, c]}, {y, Subscript[𝒟, c]}, {z, Subscript[𝒟, c]}}];SurvivalFunction[ℛ, t]SurvivalFunction[WeibullDistribution[α, 3^-1 / α (β^-α)^-1 / α], t]FullSimplify[%% - %]ReliabilityDistribution 模拟元件
或
必须工作,系统才会工作:
ℛ = ReliabilityDistribution[x∨y, {{x, ExponentialDistribution[λ]}, {y, ExponentialDistribution[μ]}}];对应的 FailureDistribution 模拟
和
均有故障的事件:
ℱ = FailureDistribution[x∧y, {{x, ExponentialDistribution[λ]}, {y, ExponentialDistribution[μ]}}];SurvivalFunction[ℛ, t] == SurvivalFunction[ℱ, t]{Subscript[𝒟, 1], Subscript[𝒟, 2], Subscript[𝒟, 3], Subscript[𝒟, 4]} = {ExponentialDistribution[Subscript[λ, 1]], ExponentialDistribution[Subscript[λ, 2]], ExponentialDistribution[Subscript[λ, 3]], ExponentialDistribution[Subscript[λ, 4]]};ℛ = ReliabilityDistribution[BooleanCountingFunction[{2, 4}, {x, y, z, v}], {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}, {z, Subscript[𝒟, 3]}, {v, Subscript[𝒟, 4]}}];ℱ = FailureDistribution[BooleanCountingFunction[{3, 4}, {x, y, z, v}], {{x, Subscript[𝒟, 1]}, {y, Subscript[𝒟, 2]}, {z, Subscript[𝒟, 3]}, {v, Subscript[𝒟, 4]}}];SurvivalFunction[ℛ, t] - SurvivalFunction[ℱ, t]//FullSimplifyReliabilityDistribution[f[x1,…],…]FailureDistribution[¬f[¬x1,…],…]:
comp = {{x, ExponentialDistribution[λ]}, {y, ExponentialDistribution[μ]}};ℛ = ReliabilityDistribution[x∧y, comp];
ℱ = FailureDistribution[¬(¬x∧¬y), comp];SurvivalFunction[ℛ, t] == SurvivalFunction[ℱ, t]为带有可靠性信息的 SystemModel 提取 ReliabilityDistribution:
SystemModelReliability[[image]]可能存在的问题 (3)
ℛ = ReliabilityDistribution[x∨y, {{x, NormalDistribution[6, 2]}, {y, ExponentialDistribution[3]}}];SurvivalFunction[ℛ, x]使用 TruncatedDistribution 限制域只为正值:
ℛ = ReliabilityDistribution[x∨y, {{x, TruncatedDistribution[{0, ∞}, NormalDistribution[6, 2]]}, {y, ExponentialDistribution[3]}}];SurvivalFunction[ℛ, t]ℛ = ReliabilityDistribution[(x∧y), {{x, ExponentialDistribution[1]}, {y, InverseGaussianDistribution[1, 3, 1 / 2]}}];CDF[ℛ, t]CDF[ℛ, 0.5]ReliabilityDistribution 只对正单边(unate)结构表达式有定义:
decfn = ¬x∨y;SurvivalFunction[ReliabilityDistribution[decfn, {{x, ExponentialDistribution[3]}, {y, ExponentialDistribution[3]}}], t]使用 UnateQ 检验布尔表达式是否为正单边(unate):
UnateQ[decfn]incfn = ¬x⊽¬y;UnateQ[incfn]SurvivalFunction[ReliabilityDistribution[incfn, {{x, ExponentialDistribution[3]}, {y, ExponentialDistribution[3]}}], t]巧妙范例 (2)
𝒟 = ExponentialDistribution[1];schemes = Select[Table[BooleanFunction[i, {x, y, z, v}], {i, 2 ^ 2 ^ 4 - 2}], UnateQ[#]&];hf[scheme_, t_] := HazardFunction[ReliabilityDistribution[scheme, {{x, 𝒟}, {y, 𝒟}, {z, 𝒟}, {v, 𝒟}}], t]hfs = DeleteDuplicates[Table[{hf[expr, t], expr}, {expr, schemes}], First[#1] === First[#2]&];Plot[Evaluate[hfs[[All, 1]]], {t, 0, 3}, PlotStyle -> AbsoluteThickness[.75], PlotLegends -> hfs[[All, 2]]]使用 Graph 作为可靠性方框图:
visit[g_, x_, e_, trail_] /; (FreeQ[trail, x]) := Block[{newtrail = Append[trail, x]}, trailholder[x] = Join[trailholder[x], {newtrail}];If[x =!= e, Do[visit[g, v, e, newtrail], {v, DeleteCases[VertexList[NeighborhoodGraph[g, x]], x]}];];];graphToBoolean[g_, start_, end_] /; VertexQ[g, start] && VertexQ[g, end] := Block[{trailholder}, trailholder[_] := {};visit[g, start, end, {}];BooleanMinimize[Or@@(And@@@trailholder[end])]]g = PetersenGraph[8, 1, VertexSize -> Large, ImageSize -> Tiny];bexpr = graphToBoolean[g, 12, 16];dist = ReliabilityDistribution[bexpr, Table[{i, ExponentialDistribution[1]}, {i, 16}]];GraphicsRow@{HighlightGraph[g, {Style[12, Green], Style[16, Red]}], Plot[PDF[dist, t]//Evaluate, {t, 0, 1}]}文本
Wolfram Research (2012),ReliabilityDistribution,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ReliabilityDistribution.html.
CMS
Wolfram 语言. 2012. "ReliabilityDistribution." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ReliabilityDistribution.html.
APA
Wolfram 语言. (2012). ReliabilityDistribution. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ReliabilityDistribution.html 年
BibTeX
@misc{reference.wolfram_2026_reliabilitydistribution, author="Wolfram Research", title="{ReliabilityDistribution}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/ReliabilityDistribution.html}", note=[Accessed: 04-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_reliabilitydistribution, organization={Wolfram Research}, title={ReliabilityDistribution}, year={2012}, url={https://reference.wolfram.com/language/ref/ReliabilityDistribution.html}, note=[Accessed: 04-November-2026]}