NExpectation[expr,xdist]
假定 x 服从概率分布 dist,给出 expr 的数值期望.
NExpectation[expr,{x1,x2,…}dist]
假定 {x1,x2,…} 服从多元分布 dist,给出 expr 的数值期望.
NExpectation[expr,{x1dist1,x2dist2,…}]
假定 x1、x2、… 独立且服从分布 dist1、dist2、…,给出 expr 的数值期望.
NExpectation[exprpred,…]
已知 pred,给出 expr 的数值条件期望.
NExpectation
NExpectation[expr,xdist]
假定 x 服从概率分布 dist,给出 expr 的数值期望.
NExpectation[expr,{x1,x2,…}dist]
假定 {x1,x2,…} 服从多元分布 dist,给出 expr 的数值期望.
NExpectation[expr,{x1dist1,x2dist2,…}]
假定 x1、x2、… 独立且服从分布 dist1、dist2、…,给出 expr 的数值期望.
NExpectation[exprpred,…]
已知 pred,给出 expr 的数值条件期望.
更多信息和选项
- xdist 可以用 x
dist
dist 或 x \[Distributed]dist 输入. - exprpred 可以用 expr
cond
pred 或 expr \[Conditioned]pred 输入. - NExpectation 与 Expectation 作用相似,只是使用的是数值加和与积分法.
- 对于一个连续分布 dist,expr 的期望由
给出,其中
是 dist 的概率密度函数,并且积分在 dist 的定义域上进行. - 对于一个离散分布 dist,expr 的期望由
给出,其中
是 dist 的概率密度函数,并且加和在 dist 的定义域上进行. - NExpectation[expr,{x1dist1,x2dist2}] 对应于 NExpectation[NExpectation[expr,x2dist2],x1dist1], 因此最后一个变量首先进行加和或积分.
- 如果无法得到符号式期望,N[Expectation[…]] 将调用 NExpectation.
- 可以给定下列选项:
-
AccuracyGoal ∞ 所求绝对准确度的位数 PrecisionGoal Automatic 所求精度的位数 WorkingPrecision MachinePrecision 内部计算所用的精度 Method Automatic 要使用何种方法 TargetUnits Automatic 输出中显示的的单位
范例
打开所有单元 关闭所有单元基本范例 (3)
NExpectation[2x + 3, xNormalDistribution[]]NExpectation[x ^ 2 + 7x + 8, xPoissonDistribution[2.7]]NExpectation[x ^ 2 + 3y ^ 2 + 11, {x, y}DirichletDistribution[{1, 4, 5}]]NExpectation[x ^ 3 + 4y - 11z / 5, {x, y, z}MultinomialDistribution[10, {1 / 2, 1 / 3, 1 / 6}]]NExpectation[(x - 1)^2 + E ^ (-x), xNormalDistribution[]]NExpectation[Abs[2x - 1], xExponentialDistribution[3]]NExpectation[x ^ 2 + E ^ (x + y), {x, y}DirichletDistribution[{2, 3, 4}]]NExpectation[x^2 + 1x > 1 / 2, xLaplaceDistribution[0, 1 / 2]]NExpectation[x + y^2 - (3/10)(1 / 2 < x < 3 / 4), {x, y}DirichletDistribution[{1, 3, 4}]]范围 (28)
基本用途 (9)
NExpectation[3x ^ 2 + 5, xNormalDistribution[]]NExpectation[2x + 7, xPoissonDistribution[1]]NExpectation[5x + 3y ^ 2 + 11, {x, y}UniformDistribution[{{2, 3}, {4, 11}}]]NExpectation[3x ^ 2 + 8x y + Abs[y - 5], {x, y}DiscreteUniformDistribution[{{2, 3}, {4, 11}}]]NExpectation[2x + 3y ^ 2 + 11, {xExponentialDistribution[1], yNormalDistribution[]}]NExpectation[x + 21 / 2 < x ^ 2 < 5, xExponentialDistribution[2]]NExpectation[x ^ 2 + 12x > 2, xPoissonDistribution[3]]NExpectation[(x + y)(y > 1 / 3), {x, y}DirichletDistribution[{1, 3, 4}]]NExpectation[x + y + 5z > 2, {x, y, z}MultinomialDistribution[10, {1 / 3, 1 / 2, 1 / 6}]]NExpectation[x + y ^ 2 + z ^ 2(x == 1 / 7∧y == 1 / 4), {x, y, z}DirichletDistribution[{1, 3, 4, 7}]]如果符合式计算失效,应用 N[Expectation[…]] 来调用 NExpectation:
f[x_ ? NumericQ] := x ^ 2 + 3x ^ 4Expectation[f[x], xNormalDistribution[]]N[%]NExpectation[f[x], xNormalDistribution[]]NExpectation[(x + 3) / (x + 5), xExponentialDistribution[2]]NExpectation[E ^ (-3x ^ 2) + 1, xExponentialDistribution[2]]NExpectation[Piecewise[{{5, x < 1}, {x ^ 2 + 3, x ≥ 1}}], xExponentialDistribution[2]]NExpectation[E ^ (I x), xUniformDistribution[{3, 4}]]exact = Expectation[x + y ^ 2, {x, y}DirichletDistribution[{1, 3, 4}]]p1 = NExpectation[x + y ^ 2, {x, y}DirichletDistribution[{1, 3, 4}]]p1 - exactp2 = NExpectation[x + y ^ 2, {x, y}DirichletDistribution[{1, 3, 4}], WorkingPrecision -> 20]p2 - exactp3 = NExpectation[x + y ^ 2, {x, y}DirichletDistribution[{1, 3, 4}], WorkingPrecision -> 20, AccuracyGoal -> 5]p3 - exactNExpectation[x[3] ^ 2 + x[3] + 3E ^ (-x[3]), xPoissonProcess[4]]dist = RandomVariate[NormalDistribution[], 1000];NExpectation[x ^ 2 + 3x + 11, xdist]数量用途 (4)
NExpectation[Quantity[x, "Meters"] * Quantity[3, "Feet"], xLogNormalDistribution[2, 3]]NExpectation[Quantity[v, "Meters" / "Seconds"] Quantity[t, "Minutes"], {vMaxwellDistribution[5], tGammaDistribution[6, 0.3]}]求用 QuantityDistribution 指定的期望:
freq𝒟 = UniformDistribution[{Quantity[2, "Hertz"], Quantity[5, "Hertz"]}]dur𝒟 = UniformDistribution[{Quantity[.5, "Seconds"], Quantity[.9, "Seconds"]}]ampl𝒟 = RayleighDistribution[Quantity[5, "Volts"]]NExpectation[a Sin[ω t], {ωfreq𝒟, tdur𝒟, aampl𝒟}]NExpectation[t1 - t2t1 > t2, {t1, t2}CopulaDistribution[{"FGM", 1 / 3}, {UniformDistribution[{Quantity[MixedMagnitude[{1, 15}], MixedUnit[{"Hours", "Minutes"}]], Quantity[2, "Hours"]}], UniformDistribution[{Quantity[80, "Minutes"], Quantity[MixedMagnitude[{1, 45}], MixedUnit[{"Hours", "Minutes"}]]}]}]]计算带有 QuantityMagnitude 的期望:
𝒟 = QuantityDistribution[NormalDistribution[0, .3], "Yards"];NExpectation[QuantityMagnitude[x, "Meters"] ^ 2, x𝒟]NExpectation[x ^ 2, Quantity[x, "Meters"]𝒟]参数分布 (4)
NExpectation[x + 1 / 2, xBetaDistribution[2, 3]]NExpectation[x ^ 2 + 7E ^ x, xUniformDistribution[{-2, 11}]]NExpectation[(x - 3) ^ 2 + 5UnitStep[x ^ 2 - 1], xNormalDistribution[0, 1]]NExpectation[E ^ (-x) + 3x, xChiSquareDistribution[5]]NExpectation[x ^ 2 + 9, xBinomialDistribution[10, 2 / 3]]NExpectation[x + 10E ^ x, xDiscreteUniformDistribution[{5, 9}]]NExpectation[x ^ 3 + 12, xZipfDistribution[4]]NExpectation[E ^ (2x) + 3, xPoissonDistribution[1]]NExpectation[x + y ^ 2 + 7, {xUniformDistribution[{0, 1}], yLaplaceDistribution[0, 1]}]NExpectation[x ^ 6 + 3y + 1, {xNormalDistribution[0, 1], yExponentialDistribution[3.1]}]NExpectation[2x ^ 2 + y ^ 2 + z, {x, y, z}DirichletDistribution[{2, 3, 4, 7}]]NExpectation[x + y ^ 2, {x, y}ProductDistribution[DiscreteUniformDistribution[{2, 5}], BernoulliDistribution[1 / 7]]]NExpectation[x y ^ 2, {xGeometricDistribution[1 / 3], yPoissonDistribution[5]}]NExpectation[2x + 3y + z, {x, y, z}DiscreteUniformDistribution[{{2, 12}, {4, 11}, {-2, 7}}]]非参数分布 (2)
使用一个单变量 HistogramDistribution:
𝒟 = HistogramDistribution[RandomVariate[ExponentialDistribution[2], 100]];NExpectation[x ^ 2 + x + 1, x𝒟]𝒟 = HistogramDistribution[RandomVariate[BinormalDistribution[1 / 3], 100]];NExpectation[x + y^2, {x, y}𝒟]使用一个单变量 KernelMixtureDistribution:
𝒟 = KernelMixtureDistribution[RandomVariate[NormalDistribution[], 10]];NExpectation[x ^ 2 + 2x + 3, x𝒟]导出分布 (9)
利用 TransformedDistribution 计算期望:
NExpectation[x + 2, xTransformedDistribution[y ^ 2, yNormalDistribution[0, 1.4]]]NExpectation[y ^ 2 + 2, yNormalDistribution[0, 1.4]]利用 ProductDistribution 求期望:
NExpectation[x + y + 4, {x, y}ProductDistribution[ExponentialDistribution[2.78], TriangularDistribution[{3, 7}]]]NExpectation[x + y + 4, {xExponentialDistribution[2.78], yTriangularDistribution[{3, 7}]}]//TogetherNExpectation[E ^ x + 2, xMixtureDistribution[{1, 2}, {NormalDistribution[2, 3], NormalDistribution[4, 5]}]]NExpectation[2x + 3, x ParameterMixtureDistribution[
ExponentialDistribution[λ], λ UniformDistribution[{1, 2}]]]NExpectation[x ^ 2 + y + 4, {x, y}TruncatedDistribution[{{1 / 3, 1 / 2}, {1 / 6, 5 / 6}}, DirichletDistribution[{2, 4, 7}]]]NExpectation[UnitBox[x ^ 2 - 35], xCensoredDistribution[{5, 30}, TriangularDistribution[{1, 50}]]]NExpectation[x^2 + 13 x + 6E ^ x, xMarginalDistribution[DirichletDistribution[{1, 2, 3}], 1]]NExpectation[x^2 + 13 x + 6E ^ x, {x, y}DirichletDistribution[{1, 2, 3}]]NExpectation[x + y ^ 2 + 1, {x, y}CopulaDistribution[{"AMH", 1 / 5}, {UniformDistribution[{0, 1}], UniformDistribution[{0, 1}]}]]NExpectation[E ^ (-x ^ 2) + 2, xProbabilityDistribution[3 / 4(x ^ 2 + 2x), {x, 0, 1}]]选项 (7)
AccuracyGoal (1)
NExpectation[x ^ 3 + 1 / (x + 1), xExponentialDistribution[2]]用 AccuracyGoal 得到不同准确度的结果:
NExpectation[x ^ 3 + 1 / (x + 1), xExponentialDistribution[2], AccuracyGoal -> 2]Method (3)
用 Method 选项增加数值积分递归二分法的次数:
dist = GammaDistribution[10 ^ 5, 1];
expr = x ^ 2 - 17 / 200000;NExpectation[expr, xdist, WorkingPrecision -> 30, Method -> {"NIntegrate", {MinRecursion -> 15, MaxRecursion -> 20}}]与从 Expectation 得到的准确结果相比较:
Expectation[expr, xdist]N[%, 30]NExpectation[x Sin[x] + 1, xNormalDistribution[]]NExpectation[x Sin[x] + 1, xNormalDistribution[], Method -> "MonteCarlo"]NExpectation[x Sin[x] + 1, xNormalDistribution[], Method -> {"MonteCarlo", "SamplingIncrement" -> 10 ^ 4}]NExpectation[E ^ (2x + 1), xNormalDistribution[]]下例使用 NIntegrate:
NExpectation[E ^ (2x + 1), xNormalDistribution[], Method -> "Trace"]使用 Activate 计算结果:
Activate[%]PrecisionGoal (1)
NExpectation[x + y ^ 2, {x, y}DirichletDistribution[{1, 3, 4}]]使用 PrecisionGoal 来得到一个不同精度的结果:
NExpectation[x + y ^ 2, {x, y}DirichletDistribution[{1, 3, 4}], PrecisionGoal -> 1]WorkingPrecision (1)
默认情况下,NExpectation 使用机器精度:
NExpectation[1 / (2x + 7), xExponentialDistribution[2]]利用 WorkingPrecision 得到具有较高精度的结果:
NExpectation[1 / (2x + 7), xExponentialDistribution[2], WorkingPrecision -> 20]TargetUnits (1)
𝒟 = UniformDistribution[{1, 5} Quantity[1, "Seconds"]]Expectation 用分布提供的量作为缺省单位:
NExpectation[x ^ 2, x𝒟]NExpectation[x ^ 2, x𝒟, TargetUnits -> "Hours" ^ 2]应用 (17)
分布属性 (3)
NExpectation[x ^ 3, xChiSquareDistribution[5]]Moment[ChiSquareDistribution[5], 3]NExpectation[x, xPoissonDistribution[4]]Mean[PoissonDistribution[4]]dist = TruncatedDistribution[{1, 3}, ExponentialDistribution[2]];NExpectation[(x - Mean[dist]) ^ 2, xdist]Variance[dist]N[%]精算科学 (4)
某保险单对损失的赔偿金额上限为 10. 保单持有人的损失
服从密度函数为
(当
)、在其它情况下为 0 的分布. 求在这个保险单下所支付的赔偿金额的预期值:
NExpectation[x, xCensoredDistribution[{1, 10}, ProbabilityDistribution[2 / y ^ 3, {y, 1, Infinity}]]]使用一个连续的正随机变量
对一个保险公司的月索赔情况建模,这个随机变量的概率密度函数与
成正比,其中
. 判断公司的期望月索赔:
dist = ProbabilityDistribution[3 / (1 + x) ^ 4, {x, 0, Infinity}];NExpectation[x, xdist]由风灾引起的受保险房屋的索赔金额是具有公共密度函数
(当
)、在其它情况下为 0 的独立随机变量,其中
是以千为单位的索赔金额. 假定有3个此类索赔. 计算这三个索赔中最大值的期望值:
1000NExpectation[Max[x, y, z], {x, y, z}ProductDistribution[{ProbabilityDistribution[3 / y ^ 4, {y, 1, Infinity}], 3}]]令
表示在一次事故中受保险的机动车辆的年龄. 令
表示在事故发生时车主为车辆加入保险的时间长度.
和
的联合密度函数为
(当
以及
)、在其它情况下为 0. 计算事故中涉及的受保险的机动车辆的期望年龄:
NExpectation[x, {x, y}ProbabilityDistribution[(10 - x y ^ 2) / 64, {x, 2, 10}, {y, 0, 1}], WorkingPrecision -> 2]运动 (2)
随机试验 (2)
NExpectation[x, xOrderDistribution[{DiscreteUniformDistribution[{1, 6}], 4}, 1]]NExpectation[x, xOrderDistribution[{DiscreteUniformDistribution[{1, 6}], 4}, 4]]求三个最大值之和的期望. 使用恒等式
以及所得 Expectation 的线性性:
NExpectation[x1 + x2 + x3 + x4, {x1, x2, x3, x4}ProductDistribution[{DiscreteUniformDistribution[{1, 6}], 4}]] - NExpectation[x, xOrderDistribution[{DiscreteUniformDistribution[{1, 6}], 4}, 1]]一个服从连续分布
的大小为 10 的样本按升序排列. 生成一个新的随机变量. 求第 11 个样本位于有序列表的第四和第五个最小数值之间的概率:
𝒟 = UniformDistribution[];n = 10;k = 4;NExpectation[Probability[x < z < y, z𝒟], {x, y}OrderDistribution[{𝒟, n}, {k, k + 1}]]Table[NExpectation[Probability[x < z < y, z𝒟], {x, y}OrderDistribution[{𝒟, n}, {k, k + 1}]], {k, 1, n - 1}]𝒟 = ExponentialDistribution[1];n = 6;Table[NExpectation[Probability[x < z < y, z𝒟], {x, y}OrderDistribution[{𝒟, n}, {k, k + 1}]], {k, 1, n - 1}]风险分析 (2)
MeanExcessLoss[dist_, d_] := NExpectation[ - d > d, dist]VaR[𝒟_, p_] := Quantile[𝒟, p]TVaR[dist_, p_] := VaR[dist, p] + MeanExcessLoss[dist, Quantile[dist, p]]MeanExcessLoss[ExponentialDistribution[2], 0.3]VaR[ExponentialDistribution[2], 0.3]r = Range[0.05, 0.95, 0.05];
ListLinePlot[Table[TVaR[ExponentialDistribution[λ], p], { λ, 1, 3, 0.5}, {p, r}], PlotLegends -> r]dist1 = NormalDistribution[];
dist2 = MixtureDistribution[{p, 1 - p}, {NormalDistribution[-4, 1], NormalDistribution[0.1, 1]}];VaR = InverseSurvivalFunction[dist1, 0.995]{sol} = NSolve[SurvivalFunction[dist2, VaR] == 0.995, p, Reals]现在给定两个模型中的期望损失都超过风险值的情况下,计算这两个模型的期望损失:
loss1 = NExpectation[xx < VaR, xdist1]loss2 = NExpectation[xx < VaR, xdist2 /. sol]其它应用 (4)
已证实一种药物对 40% 的病例都有效. 求当我们把这种药物用于 100 个病例时,治疗成功的期望数目:
NExpectation[x ^ 2, xBinomialDistribution[100, 0.4]]假定股票的对数收益服从一个稳定分布,求在 95% 风险水平下的值:
log𝒟 = StableDistribution[1, 1.38, -0.177, -0.0006, 0.0297];VaR = InverseSurvivalFunction[log𝒟, 95 / 100]假定服从上述分布,计算当前标普 500 指数价值损失 95% 的风险点值:
FinancialData["SP500"](Exp[VaR] - 1)esf = NExpectation[xx < VaR, xlog𝒟, Method -> "MonteCarlo"]FinancialData["SP500"](Exp[esf] - 1)一个站点的风速均值为 7 米/秒,并且服从形状参数为 2 的 Weibull 分布:
Solve[Mean[WeibullDistribution[2, β]] == 7, β]Plot[24 365PDF[WeibullDistribution[2, (14/Sqrt[π])], x], {x, 0, 25}, AxesLabel -> {"m/s", "hours"}, Filling -> Axis]turbine = Interpolation[{{0., 0.}, {0.5, 0.}, {1., 0.}, {1.5, 0.}, {2., 0.}, {2.5, 0.}, {3., 0.}, {3.5, 0.}, {4., 36.}, {4.5, 66.}, {5., 104.}, {5.5, 150.}, {6., 205.}, {6.5, 269.}, {7., 344.}, {7.5, 428.}, {8., 528.}, {8.5, 644.}, {9., 774.}, {9.5, 926.5}, {10., 1079.}, {10.5, 1211.}, {11., 1342.}, {11.5, 1401.}, {12., 1460.}, {12.5, 1477.}, {13., 1494.}, {13.5, 1500.}, {14., 1500.}, {14.5, 1500.}, {15., 1500.}, {15.5, 1500.}, {16., 1500.}, {16.5, 1500.}, {17., 1500.}, {17.5, 1500.}, {18., 1500.}, {18.5, 1500.}, {19., 1500.}, {19.5, 1500.}, {20., 1500.}, {20.5, 1500.}, {21., 1500.}, {21.5, 1500.}, {22., 1500.}, {22.5, 1500.}, {23., 1500.}, {23.5, 1500.}, {24., 1500.}, {24.5, 1500.}, {25., 1500.}, {25.5, 0.}, {26., 0.}, {26.5, 0.}, {27., 0.}, {27.5, 0.}, {28., 0.}, {28.5, 0.}, {29., 0.}, {29.5, 0.}, {30., 0.}}];Plot[turbine[x], {x, 0, 25}, AxesLabel -> {"m/s", "kilowatts"}]NExpectation[24 365 turbine[x], xWeibullDistribution[2, (14/Sqrt[π])]]𝒟 = SmoothKernelDistribution[ N[Log[Table[GenomeData[i, "SequenceLength"], {i, 41}] ]]];Plot[PDF[𝒟, x], {x, 0, 30}, Filling -> Axis, Frame -> True]NExpectation[xx > Mean[𝒟], x𝒟]属性和关系 (7)
NExpectation[E ^ x, xNormalDistribution[]]NIntegrate[E ^ x PDF[NormalDistribution[], x], {x, -Infinity, Infinity}]NExpectation[E ^ x, xPoissonDistribution[1]]NSum[E ^ x PDF[PoissonDistribution[1], x], {x, -Infinity, Infinity}]Mean、Moment、Variance 及其它性质定义为一个期望:
dist = ExponentialDistribution[3.];{Mean[dist], NExpectation[x, xdist]}{Variance[dist], NExpectation[(x - Mean[dist]) ^ 2, xdist]}{Moment[dist, 5], NExpectation[x ^ 5, xdist]}{CentralMoment[dist, 5], NExpectation[(x - Mean[dist]) ^ 5, xdist]}{FactorialMoment[dist, 5], NExpectation[FactorialPower[x, 5], xdist]}使用 Expectation 求一个期望的符号表达式:
dist = ExponentialDistribution[1];NExpectation[E ^ (-x ^ 2), xdist]Expectation[E ^ (-x ^ 2), xdist]N[%]如果符号式计算失败,N[Expectation[…]] 等价于 NExpectation:
f[x_ ? NumericQ] := x ^ 2 + 2Expectation[f[x], xNormalDistribution[]]N[%]NExpectation[f[x], xNormalDistribution[]]用 AsymptoticExpectation 求期望的渐近近似:
dist[b_] := ExponentialDistribution[b];AsymptoticExpectation[E ^ (-x ^ 2), xdist[b], {b, 0, 6}]% /. {b -> 0.14}NExpectation[E ^ (-x ^ 2), xdist[0.14]]NProbability[1 < x < 3, xExponentialDistribution[2]]利用 NExpectation 得到相同的结果:
NExpectation[Boole[1 < x < 3], xExponentialDistribution[2]]可能存在的问题 (1)
当符号式参数出现时,NExpectation 可能会在不发出警告信息的情况下失效:
NExpectation[x + 3, xExponentialDistribution[μ]]此例中,Expectation 给出解析形式的结果:
Expectation[x + 3, xExponentialDistribution[μ]]文本
Wolfram Research (2010),NExpectation,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NExpectation.html.
CMS
Wolfram 语言. 2010. "NExpectation." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/NExpectation.html.
APA
Wolfram 语言. (2010). NExpectation. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NExpectation.html 年
BibTeX
@misc{reference.wolfram_2026_nexpectation, author="Wolfram Research", title="{NExpectation}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/NExpectation.html}", note=[Accessed: 06-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_nexpectation, organization={Wolfram Research}, title={NExpectation}, year={2010}, url={https://reference.wolfram.com/language/ref/NExpectation.html}, note=[Accessed: 06-October-2026]}