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