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
.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top