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 件)

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

製品

リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by