How to find the length of a curve from a list of points using different length scales?
    16 views (last 30 days)
  
       Show older comments
    
I want to find the length of a curve from a list of points using different length scales. The smaller the length scale, the more accurate is the result. I want to show this thing by writing a code. Starting from the sine curve will be enough. 
x=(0:1:360)*pi/180;
y=sin(x);
plot(x,y);
0 Comments
Accepted Answer
More Answers (1)
  Tamas Rozsa
      
 on 29 Jan 2023
        
      Edited: Tamas Rozsa
      
 on 30 Jan 2023
  
      Based on https://www.mathworks.com/matlabcentral/answers/1787410-how-can-i-calculate-the-length-of-curve, you may also calculate a more detailed (and in some cases more accurate) result, by utilizing gradient() instead of diff(), and/or cumsum() instead of sum(), depending on your exact use-case:
dX = gradient(X);
dY = gradient(Y);
% option 1
Len = cumsum(hypot(dX,dY))  % if sublengths of all segments also needed
% option 2
Len = sum(hypot(dX,dY))     % if only total length needed
0 Comments
See Also
Categories
				Find more on Interpolation in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!