syms w
L = (5.*(i.*w).^5 - 170.*(i.*w).^3 + 1125.*(i.*w))./(5.*(i.*w).^7 + 7.5.*(i.*w).^6 - 170.*(i.*w).^5 - 255.*(i.*w).^4 + 1125.*(i.*w).^3 + 1688.*(i.*w).^2);
S = 1./(1 + L);
int(log(abs(S)),[0 inf])
I need to integrate the log of the absolute value of S (w being the variable) from 0 to infinity. But MATLAB cannot do it, anyways to approximate this integral in MATLAB or any other approaches?

 採用された回答

Star Strider
Star Strider 2023 年 10 月 26 日

1 投票

If you want a numeric result, use the vpaintegral function —
syms w
L = (5.*(i.*w).^5 - 170.*(i.*w).^3 + 1125.*(i.*w))./(5.*(i.*w).^7 + 7.5.*(i.*w).^6 - 170.*(i.*w).^5 - 255.*(i.*w).^4 + 1125.*(i.*w).^3 + 1688.*(i.*w).^2);
S = 1./(1 + L);
LaS = simplify(log(abs(S)), 500);
LaS = 
IntLaS = int(LaS,[0 Inf])
IntLaS = 
IntS = vpaintegral(log(abs(S)),[0 inf])
IntS = 
0.0000411287
It probably does not have an analytic (symbolic) solution.
.

1 件のコメント

John D'Errico
John D'Errico 2023 年 10 月 26 日
Probably? That seems a mild understatement. :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by