Media particolare
vi espongo il mio problema,
ho un array di 361 elementi, che essumono valori da -180 a 180 per poterlo rappresentare ho traslato i valori di 180, nel senso che -180 vale 0 e 180 vale 360, ora vorrei calcolare la media con questa formula:
MediaTemp+=Val*i (la somma dei valori dell'array per la relativa posizione)
Media=MediaTemp/TotalePixel(cioè ha la somma dei valori del mio array, che nel mio caso corrisponde al totale dei pixel di una immagine)
ora il risultato è corretto,oppure avendo effettuato prima una traslazione di 180 devo far qualcosa per ottenere la media esatta??
grazie in anticipo.
ho un array di 361 elementi, che essumono valori da -180 a 180 per poterlo rappresentare ho traslato i valori di 180, nel senso che -180 vale 0 e 180 vale 360, ora vorrei calcolare la media con questa formula:
MediaTemp+=Val*i (la somma dei valori dell'array per la relativa posizione)
Media=MediaTemp/TotalePixel(cioè ha la somma dei valori del mio array, che nel mio caso corrisponde al totale dei pixel di una immagine)
ora il risultato è corretto,oppure avendo effettuato prima una traslazione di 180 devo far qualcosa per ottenere la media esatta??
grazie in anticipo.

Risposte
Vorrei aiutarti, pero' non mi e' molto chiaro cosa cerchi, perche' se vuoi solo calcolare la media dei valori dell'array devi sommare tutti gli elementi (senza moltiplicare per la posizione e senza traslare) ed in fine dividere per 361.
Provo a farti alcune domande:
Stai parlando di un sw in c / java in grado di calcolare una particolare media o semplicemente di un algoritmo ?
Vuoi rappresentare a video funzioni trigonometriche ?
L'array ha come indice la coordinata x e come valore la coordinata y ?
Cerchi il punto medio e non il valore medio dell'array per questo moltiplichi per l'indice ?
Se mi spighi meglio cosa vuoi calcolare "di preciso" credo di poterti aiutare di piu' e perche' no, anche qualche idea.
A presto,
Eugenio
Provo a farti alcune domande:
Stai parlando di un sw in c / java in grado di calcolare una particolare media o semplicemente di un algoritmo ?
Vuoi rappresentare a video funzioni trigonometriche ?
L'array ha come indice la coordinata x e come valore la coordinata y ?
Cerchi il punto medio e non il valore medio dell'array per questo moltiplichi per l'indice ?
Se mi spighi meglio cosa vuoi calcolare "di preciso" credo di poterti aiutare di piu' e perche' no, anche qualche idea.
A presto,
Eugenio
per ottenere la media reale devi sottrarre 180 al tuo risultato...
indichiamo con $f(i)$ la funzione che ad ogni cella dell'array associa il suo valore, tu vuoi trovare la media di $f(i)$ e per far ciò hai fatto ricorso alla funzione $g(i)=f(i)+180$ di cui hai trovato la media... ora sfruttando la linearità della media risulta (indicando con $mu$ la media) $mu[g(i)=f(i)+180] = mu[f(i)]+180$ da cui $mu[f(i)]=mu[g(i)]-180$
indichiamo con $f(i)$ la funzione che ad ogni cella dell'array associa il suo valore, tu vuoi trovare la media di $f(i)$ e per far ciò hai fatto ricorso alla funzione $g(i)=f(i)+180$ di cui hai trovato la media... ora sfruttando la linearità della media risulta (indicando con $mu$ la media) $mu[g(i)=f(i)+180] = mu[f(i)]+180$ da cui $mu[f(i)]=mu[g(i)]-180$
forse mi sono spiegato male, il procedimento per calcolare la media è corretto per quello che devo fare, volevo solo sapere se aggiungendo 180 al mio array dovevo fare qualcosa per avere il corretto risultato, penso che il ragionamento di Kroldar sia corretto.
Grazie ad entrambi.
Grazie ad entrambi.