在MATLAB中计算变换后的随机变量的期望值?

在MATLAB中计算变换后的随机变量的期望值?,matlab,integration,function-composition,Matlab,Integration,Function Composition,我试图计算Z的对数正态分布的以下期望值 E[Z^eta w(F_Z(Z))^-eta] 其中eta是实数,F_Z是Z的分布函数,w:[0,1]->[0,1]是递增函数 首先,我对Matlab非常陌生,所以我不知道哪种积分方法更好,数值积分还是符号积分。我象征性地试过 我的想法是随后定义函数: syms x; g_1(x) = x^eta; g_2(x) = logncdf(x); g_2(x) = w(x)^-eta; g_4(x) = g_1(x) * g_3(g_2(x)); 然后 exp

我试图计算Z的对数正态分布的以下期望值

E[Z^eta w(F_Z(Z))^-eta]

其中eta是实数,F_Z是Z的分布函数,w:[0,1]->[0,1]是递增函数

首先,我对Matlab非常陌生,所以我不知道哪种积分方法更好,数值积分还是符号积分。我象征性地试过

我的想法是随后定义函数:

syms x;
g_1(x) = x^eta;
g_2(x) = logncdf(x);
g_2(x) = w(x)^-eta;
g_4(x) = g_1(x) * g_3(g_2(x));
然后

exp = int(g_4(x),x,0,inf)
不幸的是,这不起作用,MATLAB只是发布了g_4的整个表达式

使用数值积分quadqk更好吗?我做错了什么?我已经读到一些关于MATLAB不是最好的集成程序的文章,但是我必须使用它,所以切换到不同的程序是没有帮助的


非常感谢

您是在寻找(综合)公式,还是有必须计算的数字/数据?为什么不使用蒙特卡罗?生成数以百万计的
Z
值,并使用样本平均值(
mean
)而不是E[…]计算表达式。您已定义了两次
g_2(x)
,且未定义
g_3(x)
。我假设这是一个输入错误,但请检查您的实际代码是否有输入错误。Engineero,代码中没有输入错误,谢谢。安德烈亚斯尼普:事实上,我在寻找积分公式。路易斯门多:我想这是一种方式,有经验的MATLAB用户会这样做吗?嗯。。我要试一试。