MATLAB Answers

i got some issues trying to integrate a function symbolically

조회 수: 1(최근 30일)
Randy Chen
Randy Chen 14 Nov 2020
댓글: Ameer Hamza 14 Nov 2020
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)

  댓글 수: 0

댓글을 달려면 로그인하십시오.

채택된 답변

Ameer Hamza
Ameer Hamza 14 Nov 2020
편집: Ameer Hamza 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)
Result
>> I
I =
atan((l - 2*x)/(2*y)) + atan((l + 2*x)/(2*y))

  댓글 수: 5

표시 이전 댓글 수: 2
Ameer Hamza
Ameer Hamza 14 Nov 2020
Following shows one way to do this
syms x y s l
assume([x y], 'real')
fun = y/((x-s)^2+y^2);
I = int(fun,s,-l/2,l/2);
Ifun = matlabFunction(I, 'Vars', {'x', 'y', 'l'});
[xg,yg] = meshgrid(-1:0.01:1);
lv = 1;
Iv = Ifun(xg, yg, lv);
contour(Iv)

댓글을 달려면 로그인하십시오.

추가 답변(0개)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by