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

질문:

2023년 10월 26일

댓글:

2023년 10월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by