matlab求解复杂复数方程,用matlab求解一个两重积分方程(未知数在积分下限,含复数积分)...
生活随笔
收集整理的這篇文章主要介紹了
matlab求解复杂复数方程,用matlab求解一个两重积分方程(未知数在积分下限,含复数积分)...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
說明
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)
總結
以上是生活随笔為你收集整理的matlab求解复杂复数方程,用matlab求解一个两重积分方程(未知数在积分下限,含复数积分)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab如何绘制散点图矩阵,不同版本
- 下一篇: matlab仿真计算代码代写,matla