ellipse plotting from csv data

I HAVE PLOTTED AN ELLISE FROM A SET OF DATA FROM A CSV TABLE.
MY CHALLENGE IS I WANT TO CALCULATE ANGLE OF ROTATION, MAJOR AND MINOR AXIS AND ECCENTRICITY. hOW DO I DI THAT. i HAVE ATTACHED MY CODE
clear all;
clc;
fid = fopen ('No_Fault.csv');
readData = textscan(fid, '%f %f %f', 'HeaderLines', 1, 'Delimiter',',');
xData = readData{1, 1}(:,1);
x1Data = readData{1, 2}(:,1);
x2Data = readData{1, 3}(:,1);
f1 = figure(1);
cla; hold on; grid on;
% plot (xData, x1Data,'k-');
% plot (xData, x2Data,'r-');
plot (x1Data, x2Data,'r-');

 采纳的回答

Try this:
fid = fopen ('No_Fault.csv');
readData = textscan(fid, '%f %f %f', 'HeaderLines', 1, 'Delimiter',',');
xData = readData{1, 1}(:,1);
x1Data = readData{1, 2}(:,1);
x2Data = readData{1, 3}(:,1);
f1 = figure(1);
cla; hold on; grid on;
% plot (xData, x1Data,'k-');
% plot (xData, x2Data,'r-');
plot (x1Data, x2Data,'r-');
binaryImage = poly2mask(x1Data, x2Data, 10000, 10000);
props = regionprops(binaryImage, 'Orientation', 'MajorAxisLength', 'MinorAxisLength');
Orientation = props.Orientation % Degrees
MajorAxisLength = props.MajorAxisLength
MinorAxisLength = props.MinorAxisLength
You get:
Orientation =
-59.9061922702959
MajorAxisLength =
54.5758448527965
MinorAxisLength =
7.14123514397741

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Data Distribution Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by