Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am given a function describing a curve:

$f(t) = (f_1(t), f_2(t))',\quad t \in \mathbb{R},\quad f_1, f_2: \ \mathbb{R} \rightarrow \mathbb{R}\ .$

How would I calculate the length of that curve corresponding to a given $t$-interval $[a, b]$?

share|cite|improve this question
Looks like it'd take a miracle to get $x$ from $r$ with known elementary functions. If there's some overarching problem you're working on that lurks behind all this write-up, I urge you to present it clearly if you want meaningful responses. – anon Jul 25 '11 at 14:58
The lower part is pretty much my problem. I have a curve defined by two functions $f_1$ and $f_2$ and I need to work with that curve, e.g. determine its length in a given interval. – Maria Gordova Jul 25 '11 at 15:05
It's utterly hopeless to get a general closed form solution for $x$ in terms of the variable $r$. But if $r$ is kind of large, like $\gt 6$, the exponential makes virtually no difference. Without much trouble you can find excellent approximation for $x$ in terms of $r$. It is probably best to break up range into say $3$ parts, find different excellent approximating formulas over each part. – André Nicolas Jul 25 '11 at 15:16
@Maria Gordova: Perhaps you might want to take a look at arclength? If you use the formula for parametric curves then you don't need to bother with finding a new $g$ function. Also, in English, we might say we "invert" a function if we go from $r=f(x)$ to $x=f^{-1}(r)$, but for mathematical expressions in general, saying you're "manipulating" or "rearranging" it is okay. – anon Jul 25 '11 at 15:24
It would help if you could tell us what you are trying to do and where the problem came from. If you are doing this for a computer program or something similar, a numerical approximation might do well, or maybe you could change your functions slightly for something similar which will be possible to invert. Finding a symbolic answer is in general impossible or at least difficult, so if you don't need that you can get away much cheaper. – Samuel Jul 25 '11 at 15:41
up vote 5 down vote accepted

The required length is given by the formula $$L(\gamma|a,b)\ =\ \int_a^b\sqrt{\dot f_1^2(t)+\dot f_2^2(t)}\ dt\ .$$ There are two possibilities:

${\it Either}$ you find an elementary primitive $\Sigma(t)$ of the function $\sigma(t):=\sqrt{\dot f_1^2(t)+\dot f_2^2(t)}$. In this case the length is simply $=\Sigma(b)-\Sigma(a)$. Examples for such $\gamma$ are, e.g., parabolas, circles, logarithmic spirals, but not ellipses.

${\it Or}$ you have to resort to a numerical procedure. The simplest is to put $t_k:=a+k {b-a \over N}$ $\ (0\leq k\leq N)$ for some large $N$ and compute the following approximation: $$L(\gamma|a,b)\ \dot=\ {b-a \over N}\Bigl({1\over 2}\bigl(\sigma(t_0)+\sigma(t_N)\bigr)+\sum_{k=1}^{N-1} \sigma(t_k)\Bigr)\ .$$

share|cite|improve this answer
I can't follow the part where I need to find an elementary primitive. Can you explain, why it's not simply the formula mentioned at Wikipedia (ie. $L(a,b)\ =\ \int_a^b\sqrt{f_1'(t)^2+f_2'(t)^2}\ dt$)? – Maria Gordova Jul 25 '11 at 16:54
@Maria: this is no different for arc length than other integrals. There are many functions, like $\exp(-x^2)$ that we can't integrate in closed form. Not knowing your $f_1$ and $f_2$ we may have the same problem. But you can always do it numerically. – Ross Millikan Jul 25 '11 at 17:12
@RossMillikan Ah, I can follow. See, I'm not that much into mathematics and revert to Mathematica for such tasks, so I am solving this numerically, but let Mathematica do all the intermediate steps (yes, I'm fully aware that I don't learn anything that way ;)). – Maria Gordova Jul 25 '11 at 17:22

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.