用matlab求解一个两重积分方程(未知数在积分下限,含复数积分)

这实际上是我求出的一个特征函数,我希望通过这个特征函数求出随机变量的PDF,并由此解决一个给定概率的方程。如图所示:

理想情况的是f(x)能有闭式表达式
没有闭式表达式也没有关系,能求出最后一步r的数值解即可。。
求大神们解惑。。感激不尽。。

说明

1、f(x)很难求出闭式表达式。

2、使用符号积分计算量很大,而且可能根本就无法计算。

3、可使用integral函数进行数值积分。与quad系列函数相比,integral的优势是可以计算积分限为无穷大的情况。该函数自2012a引入。

4、f(x)的值应为实数,但由于数值计算的误差可能导致结果为复数,所以计算之后对结果取实部。

5、因后续还需要对f(x)进行积分,所以用arrayfun将其写成支持向量输入的形式。

6、PFA的计算,积分上限为无穷大,但取无穷大的上限容易导致出错(我不确定是否可通过算法设置避免),因而从实际计算需要出发,上限取一个有限值,例如1000。

 

结果

r =

   10.3200

 

参考代码

N=25;M=4;
Fw=@(w)((1-j*w).*(1-j*w/N).*(1+w.^2/N)).^-M;
fx=@(X)real(arrayfun(@(x)1/(2*pi)*integral(@(w)Fw(w).*exp(-j*w*x),-inf,inf),X))
ezplot(fx,[-2 12])

ylabel('f(x)')

P=@(r)integral(fx,r,1000)-0.01;
r=fsolve(P,10.3)

温馨提示:答案为网友推荐,仅供参考
相似回答