Proporzioni tra 2 copie di numeri

82_marco
Ciao a tutti, ho bisogno di trovare una formula per ricavarmi il rapporto tra 2 copie di numeri.
Esempio la prima copia e' 0-4096 la seconda 256-6000, vorrei ricavarmi la formula da inserire in un mio programma affinché quando inserisci 256 mi venga restituito 0 e quando metto 4096 abbia come risposta 6000 e cosi via anche per gli altri numeri contenuti nell intervalla.
Mi potete fare qualche consiglio?

Risposte
giammaria2
Quello che ti interessa non sono veramente i rapporti fra i numeri ma quelli fra le differenze fra numero e valore iniziale e deve esserci proporzionalità. Quindi, detta x-y un'altra coppia contenuta nell'intervallo, devi avere

$(x-0):(y-4096)=(256-0): (6000-4096) $

$x:(y-4096)=256:(6000-4096)$

$y-4096=((6000-4096)x)/256$

$y=4096+((6000-4096)x)/256$

Ho lasciato indicata la differenza (6000-4096) perché penso che così ti sia più comoda da inserire nel programma.

Ti consiglio di guardare sul dizionario la differenza fra copia e coppia.

82_marco
Ciao, usando questa formula se metto x = 256 come risultato ho 6000, mentre avrei dovuto avere 0

giammaria2
Le coppie che mi hai dato sono 0-4096 e 256-6000 e io le ho capite intendendo che se al posto di x metto 0 devo ottenere 4096 e se metto 256 devo ottenere 6000; sono proprio i risultati della formula.
Se volevi dire qualcosa di diverso bisogna proprio che tu mi dica che cosa.

82_marco
Se metto 256 devo avere 0, se metto 4096 devo avere 6000
questo perche' hop una scheda elettronica che mi da un ingresso il cui valore analogico varia da 0 a 4096 e vorrei interfacciarla con un programma in modo che dato l'ingresso mi venga restituito il valore reale misurato.

giammaria2
Questo si esprime dicendo che le coppie sono (256,0) e (4096, 6000). Il ragionamento è lo stesso che ti ho già detto: c'è proporzionalità fra le differenze del valore che mi interessa e il valore iniziale, cioè

$(x-256):(y-0)=(4096-256):(6000-0)$

da cui ricavi facilmente

$y=(6000(x-256))/(4096-256)$

Naturalmente puoi calcolare tu, senza computer, 4096-256=3840.

82_marco
Grazie, e' proprio quello che mi serviva :-)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.