Ich mag würde die folgende Abbildung in MATLAB reproduzieren:Ellipse um die Daten in MATLAB
Es gibt zwei Klassen von Punkten mit X und Y-Koordinaten. Ich möchte jede Klasse mit einer Ellipse mit einem Parameter der Standardabweichung umgeben, die bestimmt, wie weit die Ellipse entlang der Achse verlaufen wird.
Die Figur wurde mit einer anderen Software erstellt und ich verstehe nicht genau, wie sie die Ellipse berechnet.
Hier sind die Daten, die ich für diese Figur verwende. Die erste Spalte ist Klasse, 2. - X, 3. - Y. Ich kann gscatter
verwenden, um die Punkte selbst zu zeichnen.
A = [
0 0.89287 1.54987
0 0.69933 1.81970
0 0.84022 1.28598
0 0.79523 1.16012
0 0.61266 1.12835
0 0.39950 0.37942
0 0.54807 1.66173
0 0.50882 1.43175
0 0.68840 1.58589
0 0.59572 1.29311
1 1.00787 1.09905
1 1.23724 0.98834
1 1.02175 0.67245
1 0.88458 0.36003
1 0.66582 1.22097
1 1.24408 0.59735
1 1.03421 0.88595
1 1.66279 0.84183
];
gscatter(A(:,2),A(:,3),A(:,1))
FYI, ist here die SO Frage, wie Ellipse zu zeichnen. Also müssen wir nur alle Parameter kennen, um es zu zeichnen.
Update:
I darüber einig, dass der Mittelpunkt kann als das Mittel der X- und Y-Koordinaten berechnet werden. Wahrscheinlich muss ich die Hauptkomponentenanalyse (PRINCOMP
) für jede Klasse verwenden, um den Winkel und die Form zu bestimmen. Immer noch denkt ...
Auch wenn Sie nicht wissen, wie die Ellipse in der ursprünglichen Abbildung berechnet wird, könnte man wahrscheinlich erklären, ein wenig mehr, was es bedeuten soll? Es umgibt nicht nur die Punkte, sondern auch die grauen Punkte, zum Beispiel sind nicht alle Punkte in der Ellipse enthalten. Wenn Sie nichts wissen, würde ich das Barycenter der Punkte als Mittelpunkt der Ellipse als Ausgangspunkt vorschlagen. Der zweite Moment der Fläche könnte Ihnen die Richtung der Hauptachse geben. – groovingandi
@groovingandi: Grundsätzlich bedeutet es, wenn die Ellipse mit der Standardabweichung 3 gezeichnet wird, mit normaler Verteilung etwa 99% der Datenpunkte. Die Ellipsen auf der Figur wurden mit STD = 2 erzeugt. – yuk