Varianza del Matlab degli angoli
Domanda
Ho un matrice contenente angoli e ho bisogno di calcolare la media e la varianza. Per il medio I procedi in questo modo: Per ogni angoli calcolare il peccato e cos e somma tutto il peccato e tutto cos La media è data dall'ATAN2 (SIN, COS) e funziona La mia domanda è come calcolare la varianza degli angoli sapendo la media?
Grazie per le risposte
Allego il mio codice MATLAB:
for i=1:size(im2,1)
for j=1:size(im2,2)
y=y+sin(hue(i, j));
x=x+cos(hue(i, j));
end
end
mean=atan2(y, x);
if mean<0
mean=mean+(2*pi);
end
. Soluzione
Non sono sicuro al 100% quello che stai facendo, ma forse questo avrebbe raggiunto la stessa cosa con la build in Matlab Functions media e var .
.
>> [file path] = uigetfile;
>> someImage = imread([path file]);
>> hsv = rgb2hsv(someImage);
>> hue = hsv(:,:,1);
>> m = mean(hue(:))
m =
0.5249
>> v = var(hue(:))
v =
0.2074
Altri suggerimenti
Per calcolare la varianza di un angolo non è possibile utilizzare la varianza standard.Questa è la formulazione per calcolare il var di un angoli
R= 1 - SQRT (((Sum (Sin (Sin (Angolo))) ^ 2 + (somma (cos (angolo))) ^ 2) / n; C'è anche un'altra formulazione var (angolo)= var (peccato (angolo)) + var (cos (angolo));
Rif: http://www.ebi.ac.uk/thornton-SRV / Software / ProCeck / NMR_Manual / Man_Cv.html
La varianza dei dati circolari non può essere trattata come la varianza dei dati non trattati sulla linea reale.(Per le varianze molto piccole, sono efficacemente equivalenti, ma per le varianti di grandi dimensioni si rompe l'equivalenza. Dovrebbe essere chiaro per te perché questo è.) Consiglio Analisi statistica dei dati circolari di N.I.Pescatore.Questo libro contiene una definizione ampiamente utilizzata di varianza circolare che viene calcolata dalla lunghezza media risultante dei vettori dell'unità che corrispondono agli angoli.
>> sumsin = sum(sin((hue(:)-meanvalue).^2));
>> sumcos = sum(cos((hue(:)-meanvalue).^2));
.
è sbagliato.Non puoi sottrarre angoli come quello.
A proposito, questa domanda non ha davvero nulla a che fare con Matlab.Probabilmente puoi ottenere risposte più / migliori Pubblicazione su Statistics Stack Exchange