vorrei riprodurre la figura seguente in MATLAB:ellisse attorno ai dati in MATLAB
Ci sono due classi di punti con coordinate X e Y. Mi piacerebbe circondare ogni classe con un'ellisse con un parametro di deviazione standard, che determina la distanza dell'ellisse lungo l'asse.
La figura è stata creata con un altro software e non capisco esattamente come calcola l'ellisse.
Ecco i dati che sto utilizzando per questa figura. La prima colonna è class, 2nd - X, 3rd - Y. Posso usare gscatter
per disegnare i punti.
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))
Cordiali saluti, here è la domanda SO su come disegnare un'ellisse. Quindi, abbiamo solo bisogno di conoscere tutti i parametri per disegnarlo.
Aggiornamento:
Sono d'accordo che il centro può essere calcolato come mezzo di coordinate X e Y. Probabilmente dovrò usare l'analisi delle componenti principali (PRINCOMP
) per ogni classe per determinare l'angolo e la forma. Ancora pensando ...
Anche se non si sa come l'ellisse nella figura originale è calcolato, si potrebbe forse spiegare un po 'di più quello che si suppone a dire? Non si tratta solo di circondare i punti come per i punti grigi, ad esempio, non tutti i punti sono inclusi nell'ellisse. Se non sapete nulla, suggerirei il baricentro dei punti come il centro dell'ellisse come punto di partenza. Il secondo momento dell'area potrebbe darti la direzione dell'asse maggiore. – groovingandi
@groovingandi: Fondamentalmente significa che se l'ellisse viene disegnata con la deviazione standard 3, con distribuzione normale includerà circa il 99% dei punti dati. Le ellissi sulla figura sono state generate con STD = 2. – yuk