Media particolare

Messaggioda *pippuzzo80 » 19/05/2006, 06:58

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]*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.
:D
*pippuzzo80
Starting Member
Starting Member
 
Messaggio: 3 di 24
Iscritto il: 18/05/2006, 18:45

Messaggioda eugenio.amitrano » 19/05/2006, 09:08

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
Avatar utente
eugenio.amitrano
Senior Member
Senior Member
 
Messaggio: 215 di 1375
Iscritto il: 15/02/2006, 16:16

Messaggioda Kroldar » 19/05/2006, 13:35

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$
Kroldar
Advanced Member
Advanced Member
 
Messaggio: 321 di 2110
Iscritto il: 11/11/2005, 16:23

Messaggioda *pippuzzo80 » 19/05/2006, 18:12

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.
*pippuzzo80
Starting Member
Starting Member
 
Messaggio: 4 di 24
Iscritto il: 18/05/2006, 18:45


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite