作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/15 01:41:07
用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)