Ovo je moj pokušaj da implementiram
Hurwitzov kriterij
u mom programskom jeziku, AEC-u, i
compiliram ga tako da se može pokrenuti u internetskom pregledniku, pomoću
svog
compilera koji prevodi AEC na WebAssembly. S obzirom na to da WebAssembly kôd koji ispisuje moj compiler
pretpostavlja da je naredba WebAssembly.Global dostupna, ovo će
raditi samo u najnovijim internetskim preglednicima.
Hurwitzov kriterij je, u biti, algoritam da odredimo koliko se korijena
nekog polinoma nalazi desno od imaginarne osi (da im je realni dio
pozitivan) bez potrebe da se ti korijeni izračunaju. To je korisno jer se za
polinome velikog stupnja korijeni, u principu, ne mogu izračunati, a, da
bismo odredili je li neki linearni vremenski nepromjenjivi sustav stabilan,
dovoljno je dokazati da nazivnik njegove prijenosne funkcije nema korijene
(zvani polovi) desno od imaginarne osi. Naime, sustav je stabilan ako
za svaku moguću pobudu ima ograničen (ne beskonačan) odziv, a kompleksna
frekvencija stvarne pobude nikada ne može imati negativan realni dio. Ako
svi polovi sustava imaju negativan realni dio, to znači da amplituda odziva
u nazivniku nikad ne može imati nulu (da bude beskonačna), bez obzira na
pobudu.
Broj korijena desno od imaginarne osi je:
.