Solving Integral in matlab

I need to solve this integral in matlab
Where a=1, b=0.71, c=0.53.
I have tried this in matlab
syms s
a=1;
b=0.71;
c=0.53;
f = 1/((s+a^2)*sqrt(((s+a)^2)*((s+b)^2)*((s+c)^2)));
F = int(f, 0, inf)
but I am unable to solve the problem

回答 (2 件)

Dyuman Joshi
Dyuman Joshi 2023 年 4 月 17 日
編集済み: Dyuman Joshi 2023 年 4 月 17 日

0 投票

There are cases when int is unable to compute the value of definite integral. In such cases, use vpa to obtain the approximate numerical value
syms s
a = 1;
b = 0.71;
c = 0.53;
f = 1/((s+a^2)*sqrt(((s+a)^2)*((s+b)^2)*((s+c)^2)));
F = int(f, 0, inf);
val1 = vpa(F)
val1 = 
0.67917589608295134074024322188586
You can use vpaintegral directly as well -
val2 = vpaintegral(f,0,inf)
val2 = 
0.679176
Torsten
Torsten 2023 年 4 月 17 日
編集済み: Torsten 2023 年 4 月 17 日

0 投票

syms s
a=sym('1');
b=sym('71/100');
c=sym('53/100');
f = 1/((s+a^2)*(s+a)*(s+b)*(s+c));
F = a*b*c/2*int(f)
F = 
limit(F-subs(F,s,0),s,Inf)
ans = 

カテゴリ

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

タグ

質問済み:

2023 年 4 月 17 日

編集済み:

2023 年 4 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by