Re: Vzorec s hysterezí
Jan Waclawek
konfera na efton.sk
Neděle Červenec 30 22:40:46 CEST 2023
Klasicky vakel...
Pamatam si dve veci: predchadzajuca_hodnota: float, smer_pohybu: boolean.
V slucke citam aktualna_hodnota: float a robim toto:
ak (aktualna_hodnota < predchadzajuca_hodnota) == smer_pohybu
tak
predchadzajuca_hodnota = aktualna_hodnota
inak
ak (abs(aktualna_hodnota - predchadzajuca_hodnota) > dovoleny_vakel)
tak
predchadzajuca_hodnota = aktualna_hodnota
smer_pohybu = opak(smer_pohybu)
a zobrazujem celu cast z predchadzajuca_hodnota.
Vakel vo Vasom pripade bude nieco okolo 1.0, ale mozno radsej trocha menej,
aby ste medzne pripady nevnimali ako skok o 2.
wek
----- Original Message ---------------
Subject: Vzorec s hysterezí
From: Martin Záruba <swz na volny.cz>
Date: Sun, 30 Jul 2023 19:16:12 +0200
To: Martin Zaruba <hw-list na list.hw.cz>
Mám proměnnou float A, která je výsledkem měření v reálném čase. Z ní mě
zajímá jen celočíselná část. Samozřejmě není problém desetiny useknout
třeba prostým přiřazením int I = A. Jenµe pokud se hodnota A pohybuje
těsně okolo celého čísla, v důsledku fluktuace skáče I nahoru a dolu o
1. A já bych potřeboval, aby kdyµ uµ přeskočí o 1 nahoru, musela se
proměnná A sníµit nejmeně o 1, aby I skočila o 1 dolů. Napadá vás, jak
napsat vzorec, který by se takto choval?
--
Martin Záruba
Další informace o konferenci Hw-list