RE: Matematický problém
ok2mtm na seznam.cz
ok2mtm na seznam.cz
Neděle Červenec 14 14:20:09 CEST 2024
A nebylo by lepší mít ty koeficienty jako tabulku a jenom z nich vybírat? Takhle se o řeší u řídících jednotek v autech – je to rychlejší a méně náročné na paměť, a ještě se tím dají různě korigovat neideální charakteristiky čidel, výkonových prvků a všeho ostatního.
Tomáš OK2MTM
From: Hw-list <hw-list-bounces na list.hw.cz> On Behalf Of Martin Záruba
Sent: Sunday, July 14, 2024 2:02 PM
To: hw-list na list.hw.cz
Subject: Re: Matematický problém
Obráceně. Y bude v intervalu 1 - 100. Asi jsem to napsal blbě, Z ~ Y/X.
Jasně, takto cyklem to určitě půjde.
Dělit lze cokoli čímkoli, celočíselně i float.
Já doufal, že by šlo najít vzorce, kde jestliže zadám Z, získám odpovídající X a Y, kde jediná podmínka je, že X musí bý 50 .. 100
Jen na vsvětlení, co jsem si to vymyslel: Potřebuji udělat PWM na cca 160 kHz na ATMega, kde hodiny jsou na 16MHz. Tím mi vychází na celou periodu 100 kroků. Pokud se pohybuji v horní části (pulz je dostatečně dlouhý) je krok změny PWM dostatečně jemný. Ale na dolním konci, kdy poměr ON-OFF je třeba 1:10 je velký rozdíl mezi 10 a 11. Proto jsem hledal řešení, kde například (raději jemněji) 10.5 lze získat jako 84 / 8, tedy Y = 84; X = 8;
Martin Záruba
Dne 14.7.2024 v 12:54 Stanislav Šmejkal napsal(a):
Neúplné zadání.
X je celočíselné v intervalu 50 .. 100
Y je celočíselné v libovolném intervalu 1 ... N?
Z je reálné číslo v intervalu 0,01 .. 1
X/Y ~ Z
Y bude tedy v intervalu 50 .. 10000 (50/1 .. 100/0,01)
Hledáme ze všech možných zlomků X/Y takový, který nejlépe aproximuje reálné číslo Z?
Pokud je toto úplné zadání, pak stačí pro čísla X = 50 .. 100 nalézt odchylku D = abs(round (X/Z) - X/Z)
Stačí projít 51 cyklů a hledat nejmenší odchylku D, poznamenat si jí odpovídající X a vypočítat Y = round(X/Z)
Standa
Možné upřesnění zadání:
Lze dělit i Y/X?
Dne 14.07.2024 v 11:56 Martin Záruba napsal(a):
Nenapadá mě, jak řešit:
Mám dvě celočíselné proměnné X a Y.
X má nabývat nejlépe hodnoty 100, ale může klesnout až na 50.
Jak udělat vzorce pro X a Y, aby jejich podíl se co nejlépe blížil zadané hodnotě Z.
Podíl (reálné číslo) se může pohybovat v rozsahu 0.01 až 1, ale to asi není podstatné.
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz <http://www.HW.cz>
Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
http://list.hw.cz/mailman/listinfo/hw-list
--
Tento e-mail byl antivirovým softwarem Avast zkontrolován na viry.
www.avast.com
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240714/d60a59d3/attachment-0001.htm>
Další informace o konferenci Hw-list