Analytically and numerically computed arc length

조회 수: 13 (최근 30일)
Carlos
Carlos 2012년 7월 10일
댓글: Bilgah Johnson 2020년 12월 11일
Hi,
I'm trying to compute the length of a curve defined in parametric form:
t = linspace(0,pi); % Actually t could go from 0 to any angle lower than 2*pi
r = 1 ./ ( 1 - t / (2*pi) );
x = r.*cos(t); y = r.*sin(t);
dx = diff(x); dy = diff(y);
l = sum( sqrt(dx.^2 + dy.^2) ); % Arc length. Linear aprox.
This way the length is equal to 4.4725.
If I do the calculations analytically, I find the length is:
l = -2*pi*log( 1 - angle/(2*pi) ); % Being the initial point angle = 0
using angle = pi the result is 4.3552.
What's the reason of this difference?
Thanks in advance.

채택된 답변

Teja Muppirala
Teja Muppirala 2012년 7월 10일
I'm not sure how you are analytically calculating path length. It seems from your expression that you just integrated r(t) straight up, which is not the correct way to do it. You need to use the formula for path length.
For example, it is given for cylindrical coordinates here:
http://tutorial.math.lamar.edu/Classes/CalcII/PolarArcLength.aspx (Google: arc length cylindrical coordinates)
That equation is difficult to integrate by hand, but it can be done symbolically in MATLAB very easily.
syms r t
r = 1 ./ ( 1 - t / (2*pi) );
ds_dt = sqrt(r^2 + diff(r)^2);
path_length = int(ds_dt,0,pi)
subs(path_length)
You get a long analytical expression for path length, which turns out to be the same answer as you got numerically, 4.47.
  댓글 수: 2
Bilgah Johnson
Bilgah Johnson 2020년 12월 11일
i am using this code but I'm not able to get the answer. Please help as soon as possible.
Bilgah Johnson
Bilgah Johnson 2020년 12월 11일
PLEASE HELP ME> HOW TO SOLVE THE ABOVE QUESTION USING THE CODE.

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

추가 답변 (1개)

Carlos
Carlos 2012년 7월 10일
You are right. I made a mistake and I came here too soon.
Thanks. Should I delete that question?
  댓글 수: 1
Walter Roberson
Walter Roberson 2012년 7월 10일
No, it's okay, it will help other people in future.

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

카테고리

Help CenterFile Exchange에서 Calculus에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by