Getting complex value for real integration

조회 수: 3 (최근 30일)
Mithun Kumar Munaganuri
Mithun Kumar Munaganuri 2022년 3월 31일
댓글: Mithun Kumar Munaganuri 2022년 4월 5일
I'm getting complex value in real integration while trying to find area under ellipse as shown in below figure. Please advise
  댓글 수: 9
Mithun Kumar Munaganuri
Mithun Kumar Munaganuri 2022년 4월 4일
@Steven Lord Yes, I'm trying to find the area bounded by a portion of the ellipse. Lengths of minoand major axes of the ellipse are 2a,2b respectively. Equation that generates this ellipse is provided below the picture drawn.
@Torsten I was able to find the area after taking some assumptions and modifying the code.
Mithun Kumar Munaganuri
Mithun Kumar Munaganuri 2022년 4월 4일
@Torsten and @Steven Lord Thanks for your help, I'm able to find the required area after specifying some assumptions and simplifying the equation.

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

채택된 답변

David Goodmanson
David Goodmanson 2022년 4월 4일
편집: David Goodmanson 2022년 4월 4일
Hi Mithun,
One of the more straightforward methods is to forget about symbolics and just write down the solution for y. The ellipse has semimajor axis a along x, semiminor axis b along y, and is centered at
( w/2, -(b/(2*a))*sqrt(4*a^2-w^2) )
so that the ellipse passes through both the origin and (w,0). w has to be less than 2*a, the major axis. Solve the ellipse equation for y,
( y + (b/(2*a))*sqrt(4*a^2-w^2) )^2/b^2 = 1 - (x-w/2).^2/a^2
take the sqrt of both sides**, rearrange
y = -(b/(2*a))*sqrt(4*a^2-w^2) +- b*sqrt((1-(x-w/2).^2/a^2)).
** the sqrt of the left hand side is taken as positive. The sqrt of the right hand side can be either sign, but the positive sqrt is chosen since from the figure, y>=0. So
a = 3; b = 2; w = 5;
fun = @(x) -(b/(2*a))*sqrt(4*a^2-w^2) + b*sqrt((1-(x-w/2).^2/a^2));
integral(fun,0,w)
ans = 3.1468
  댓글 수: 3
David Goodmanson
David Goodmanson 2022년 4월 4일
Hi Mithun,
you're most welcome. One thing I forgot to mention is that when you post a question it's not best practice to post images of code. It's much better to copy in the code as text. That way, people looking to assist can just copy the code and run it, rather than having to type it in by hand.
Mithun Kumar Munaganuri
Mithun Kumar Munaganuri 2022년 4월 5일
Yeah David, thanks for the tip. This is my first time posting anything in such discussion forums. I'll follow this good practice from next time.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by