i got some issues trying to integrate a function symbolically

1 view (last 30 days)
I'm trying to symbolically integrate this function, but it's not working:
>> syms x y s
>> fun = y/((x-s)^2+y^2);
>> int(fun,s,-l/2,l/2)
ans =
int(y/((s - x)^2 + y^2), s, -l/2, l/2)
why does matlab return me an expression the same as what I typed????? I want an integral in symbolic form instead. The function is to be integrated with respect to variable s only from -l/2 to +l/2 (lower case L)

Accepted Answer

Ameer Hamza
Ameer Hamza on 14 Nov 2020
Edited: Ameer Hamza on 14 Nov 2020
For a general case, the solution might not be expressed in an analytical form. But if x and y are assumed to be real, then you can get an expression
syms x y s l
assume([x y], 'real')
fun = y/((x-s)^2+y^2);
I = int(fun,s,-l/2,l/2)
>> I
I =
atan((l - 2*x)/(2*y)) + atan((l + 2*x)/(2*y))

Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!

Translated by