Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

calcolo della media di 20 valori in assembler

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto Utentefairyvilje » 1 dic 2014, 13:48

Esatto. Puoi ottenere un risultato arbitrariamente distante dalla reale media in questo caso visto che resterebbe inchiodato a 10.
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
11,4k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 2451
Iscritto il: 24 gen 2012, 19:23

1
voti

[12] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto UtenteRobert8 » 1 dic 2014, 17:26

fairyvilje ha scritto:Evviva la propagazione degli errori

Indubbio :!:

EcoTan ha scritto:è chiaro che questo metodo delle medie successive comporta più calcoli rispetto al primo metodo proposto.

Chiaro :!:

Era solo

Robert8 ha scritto:Un altro modo per calcolare la media usando solo registri

quando non si possa o voglia memorizzare tutti i campioni.
Avatar utente
Foto UtenteRobert8
3.449 2 8 13
Master EY
Master EY
 
Messaggi: 370
Iscritto il: 15 giu 2011, 16:30

0
voti

[13] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto Utentefairyvilje » 1 dic 2014, 17:42

Il fatto è che in questo modo usando l'aritmetica intera non si sta calcolando la media ma... qualcos'altro :mrgreen:. Sulla falsariga della tua tecnica, con un registro in più si può tenere il conto del resto dello step precedente e risommandolo all'iterazione successiva l'errore è tenuto a bada :mrgreen: .
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
11,4k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 2451
Iscritto il: 24 gen 2012, 19:23

0
voti

[14] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto UtenteRobert8 » 2 dic 2014, 0:07

Concordo! :mrgreen:
Più semplicemente basterebbe sommare di volta in volta i campioni e dividere solo quando lo si desidera.

Comunque ambasciator non porta pena: era un esercizio universitario e la soluzione data era quella :!:
Forse c'erano delle condizioni particolari, che non ricordo, tali da giustificare una simile soluzione.
Tutta teoria filosofica :ok:
Avatar utente
Foto UtenteRobert8
3.449 2 8 13
Master EY
Master EY
 
Messaggi: 370
Iscritto il: 15 giu 2011, 16:30

0
voti

[15] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto UtenteRobert8 » 3 dic 2014, 3:28

Quindi?
Che soluzione adottare?

Vediamo se vi piace questa:

definisco TOT su 2 byte (supponendo campioni su 8 bit)

1) ciclo di 20 acquisizioni e somma su TOT;

2) ciclo di sottrazioni TOT - 20 fino a che TOT < 20, il cui conteggio darà l'intero della media;

3) test del bit meno significativo di TOT:
- se 0 il secondo decimale della media è 0,
- se 1 il secondo decimale della media è 5;

4) shift a destra di TOT per ottenere il primo decimale della media.

Ergo: un solo registro su 2 byte per gestire il tutto e con 4 semplici passaggi si ottiene una media con 2 decimali.
Avatar utente
Foto UtenteRobert8
3.449 2 8 13
Master EY
Master EY
 
Messaggi: 370
Iscritto il: 15 giu 2011, 16:30

0
voti

[16] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto UtenteEcoTan » 3 dic 2014, 10:22

Questo metodo funzionerebbe anche se al posto di 20 mettessimo un altro numero, per esempio 10?
Avatar utente
Foto UtenteEcoTan
5.345 4 10 13
Expert EY
Expert EY
 
Messaggi: 3225
Iscritto il: 29 gen 2014, 8:54

0
voti

[17] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto UtenteRobert8 » 3 dic 2014, 15:45

Naturalmente no :!:
E' su misura del 20 come richiesto.
Ma si può adattare a qualsiasi divisore con pochi accorgimenti.
Basta modificare il passo 2 col nuovo divisore per ottenere comunque la parte intera.
Per i decimali prova tu ad ideare qualcosa di generico valido per qualunque divisore :mrgreen:
Avatar utente
Foto UtenteRobert8
3.449 2 8 13
Master EY
Master EY
 
Messaggi: 370
Iscritto il: 15 giu 2011, 16:30

0
voti

[18] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto UtenteEcoTan » 3 dic 2014, 17:42

passare in floating..
no, in Assembler per me di generico e valido coi decimali c'è poco.
Avatar utente
Foto UtenteEcoTan
5.345 4 10 13
Expert EY
Expert EY
 
Messaggi: 3225
Iscritto il: 29 gen 2014, 8:54

0
voti

[19] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto UtenteRobert8 » 3 dic 2014, 22:26

Su, dai, un piccolo sforzo :!:
Prova ad immaginare come faresti, a mano, una divisione utilizzando solo somma e sottrazione.
Per esempio, semplifichiamo usando dividendo e divisore su 8 bit e fermiamoci a 2 decimali: 249/33 = 7,54
Avatar utente
Foto UtenteRobert8
3.449 2 8 13
Master EY
Master EY
 
Messaggi: 370
Iscritto il: 15 giu 2011, 16:30

0
voti

[20] Re: calcolo della media di 20 valori in assembler

Messaggioda Foto UtenteGrio » 24 dic 2014, 13:45

Ringrazio tutti per la partecipazione e mi scuso se riprendo solo ora la discussione, ma per motivi di lavoro non ho potuto seguire il forum.
Data la mia scarsa conoscenza nell'ambito di questa materia volevo sapere se potevate indirizzarmi verso forum,blog o siti dove vengono spiegate le istruzioni aritmetiche e logiche in maniera più semplice possibile,magari correlate anche da esempi.
Avatar utente
Foto UtenteGrio
0 2
 
Messaggi: 26
Iscritto il: 20 ott 2012, 18:07

PrecedenteProssimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti