Given a n by m matrix representing m vectors in n dimensions. Calculate the arc length of the closed loop curve going though these points in the order that they are given. The parametric curve, c(t) , between points p(k) and p(k+1) is defined as,
c(t) = p(k-1) * (-t/2+t^2-t^3/2) + p(k) * (1-5/2*t^2+3/2*t^3) + p(k+1) * (t/2+2*t^2-3/2*t^3) + p(k+2) * (-t^2/2+t^3/2),
where t goes from 0 to 1. These interpolation polynomials can also be found using the constraints c(0)=p(k), c(1)=p(k+1), c'(0)=(p(k+1)-p(k-1))/2 and c'(1)=(p(k+2)-p(k))/2.
For example for the points
points = [[1; 0] [0; 1] [-1; 0] [0; -1]];
would yield to following curve:
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers5
Suggested Problems
-
All your base are belong to us
574 Solvers
-
Cody Computer Part 4 : Are you a morning Cody player Addicted ?
82 Solvers
-
Sum of diagonals elements of a matrix
229 Solvers
-
Approximation of Pi (vector inputs)
269 Solvers
-
56 Solvers
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
How confident are you that your answers are correct to the tolerances you have specified?
Have not tried the problem yet but tolerances seem below eps(dist_correct) in several cases, could you perhaps just relax these a bit?
I relaxed the tolerances in the test suite.