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