Calculate the length of the major axis of an ellipse using its perimeter
    9 views (last 30 days)
  
       Show older comments
    
    Vahid Esmaeili
 on 26 Aug 2020
  
    
    
    
    
    Answered: Image Analyst
      
      
 on 26 Aug 2020
            Hello,
I am wondering how to calculate the length of the major axis of an ellipse using its perimeter in MATLAB? In fact, I have the perimeter of the forefoot (which is like an ellipse) but I need its major axis.
Thank you so much,
0 Comments
Accepted Answer
  Image Analyst
      
      
 on 26 Aug 2020
        Vahid, if you have the Statistics and Machine Learning toolbox you can use pdist2().  If you have an N-by-2 array of (x,y) coordinates, you can do
distances = pdist2(xy, xy);
majorAxisLength = max(distances(:))  % Twice the semi-major radius value.
If you don't have that toolbox, you can easily compute the distances of every point to every other point using a pair of for loops.
0 Comments
More Answers (1)
  John D'Errico
      
      
 on 26 Aug 2020
        
      Edited: John D'Errico
      
      
 on 26 Aug 2020
  
      You can't.
That is, knowing ONLY the perimeter of an ellipse, you CANNOT know the major axis. That is, I can give you two ellipses, one of which is a perfect circle, and the other an infinitely narrow ellipse, yet both of them will have the same perimeter. Of course in the two cases, they will have very different shapes.
So case closed, you cannot do what you have asked to compute. You need to provide more information. And perhaps do some reading.
For example, if you are willing to provide some other parameter, such as the minor axis length, or the eccentricity, then it is possible to compute the major axis length.
See Also
Categories
				Find more on Annotations 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!


