ik lees via php met exec analoge waarde van temperatuursensoren uit, variërend van 0 tot 255.
Nu wil ik deze waarde omzetten naar een temperatuur in °C.
Bv: 64 --> 25°C
255 --> 50 °C
Dit zou ik met een array kunnen doen, maar ik zit met volgende hindernis:
64 --> 25 °c
maar 65 --> ook 25°C
(is niet zo méga nauwkeurig dus),
maar dit wil wel zeggen dat als ik 't met een array ga doen ik 255 keys heb, is er geen gemakkelijkere optie?
Statistiek zet je een heel eind op weg. Doe een Lineaire regressie er een lineair verband is, dwz de uitvoer is een functie van de vorm y = a*x + b met a en b constanten.
Indien er een ander verband is zal je een andere regressiemethode moeten toepassen.
Met andere woorden, de functie 0.262103*x - 14.1945 benadert de temperatuur in functie van x = (100->193). Erbuiten kan het ook nog kloppen, maar dat is niet met zekerheid te zeggen.
PS: ik heb hier maar snel even wat berekend om de methode uit te leggen, dit wil nog niet zeggen dat dit hier zomaar juist is. Dat moet je zelf uitzoeken ;)
@Oneday: ha sorry, ik had het misgelezen, my mistake. Op dat uur van de dag ben ik niet altijd even wakker.
Anyway, je kan het nog steeds simpel oplossen volgens mij?
Dit wil zeggen dat je, als je op de graad af wilt afronden, 50 schijven hebt voor de temperatuur, en 255 voor de inputwaardes.
Dit zou willen zeggen:
255/ 50 = 5,1
Per 5 waardes heb je dus een temperatuurverschil.
@Oneday: ha sorry, ik had het misgelezen, my mistake. Op dat uur van de dag ben ik niet altijd even wakker.
Anyway, je kan het nog steeds simpel oplossen volgens mij?
Stel even hypothetisch:
[..code..]
Dit wil zeggen dat je, als je op de graad af wilt afronden, 50 schijven hebt voor de temperatuur, en 255 voor de inputwaardes.
Dit zou willen zeggen:
255/ 50 = 5,1
Per 5 waardes heb je dus een temperatuurverschil.
Dus je neemt je inputwaarde:
[..code..]
Alleen ligt de minimale waarde hier niet op 0 maar op -20, dus trek er gewoon nog eens 20 van af
[..code..]
In een generieke vorm wil dit dus zeggen (psuedo, ben .NET developer en PHP wat verleerd )
[..code..]
En nu kan het best zijn dat ik er weer compleet naast zit, maar volgens mij is het niet moeilijker dan dat?Â
Dit zou inderdaad werken moesten de waarden lineair verlopen, helaas is dat niet zo.