<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"Formátovaný v HTML Char";
        margin:0cm;
        font-size:10.0pt;
        font-family:"Courier New";}
span.FormtovanvHTMLChar
        {mso-style-name:"Formátovaný v HTML Char";
        mso-style-priority:99;
        mso-style-link:"Formátovaný v HTML";
        font-family:Consolas;}
span.StylE-mailovZprvy21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=CS link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='mso-fareast-language:EN-US'>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.<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Tomáš OK2MTM<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b>From:</b> Hw-list <hw-list-bounces@list.hw.cz> <b>On Behalf Of </b>Martin Záruba<br><b>Sent:</b> Sunday, July 14, 2024 2:02 PM<br><b>To:</b> hw-list@list.hw.cz<br><b>Subject:</b> Re: Matematický problém<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><p><span style='font-family:"Arial",sans-serif'>Obráceně. Y bude v intervalu 1 - 100. Asi jsem to napsal blbě, Z </span>~ Y/X.<o:p></o:p></p><p>Jasně, takto cyklem to určitě půjde.<o:p></o:p></p><p>Dělit lze cokoli čímkoli, celočíselně i float.<o:p></o:p></p><p>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<o:p></o:p></p><p>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;<o:p></o:p></p><pre>Martin Záruba<o:p></o:p></pre><div><p class=MsoNormal>Dne 14.7.2024 v 12:54 Stanislav Šmejkal napsal(a):<o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal>Neúplné zadání. <br><br>X je celočíselné v intervalu 50 .. 100 <br>Y je celočíselné v libovolném intervalu 1 ... N? <br>Z je reálné číslo v intervalu 0,01 .. 1 <br>X/Y ~ Z <br>Y bude tedy v intervalu 50 .. 10000  (50/1 .. 100/0,01) <br><br>Hledáme ze všech možných zlomků X/Y takový, který nejlépe aproximuje reálné číslo Z? <br><br>Pokud je toto úplné zadání, pak stačí pro čísla X = 50 .. 100 nalézt odchylku D = abs(round (X/Z) - X/Z) <br><br>Stačí projít 51 cyklů a hledat nejmenší odchylku D, poznamenat si jí odpovídající X a vypočítat Y = round(X/Z) <br><br>Standa <br><br>Možné upřesnění zadání: <br>Lze dělit i Y/X? <br><br>Dne 14.07.2024 v 11:56 Martin Záruba napsal(a): <br><br><o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal style='margin-bottom:12.0pt'>Nenapadá mě, jak řešit: <br><br>Mám dvě celočíselné proměnné X a Y. <br><br>X má nabývat nejlépe hodnoty 100, ale může klesnout až na 50. <br><br>Jak udělat vzorce pro X a Y, aby jejich podíl se co nejlépe blížil zadané hodnotě Z. <br><br>Podíl (reálné číslo) se může pohybovat v rozsahu 0.01 až 1, ale to asi není podstatné. <o:p></o:p></p></blockquote><p class=MsoNormal>_______________________________________________ <br>HW-list mailing list  -  sponsored by <a href="http://www.HW.cz">www.HW.cz</a> <br><a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a> <br><a href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a> <o:p></o:p></p></blockquote></div><div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br /><table style="border-top: 1px solid #D3D4DE;"><tr><td style="width: 55px; padding-top: 13px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank"><img src="https://s-install.avcdn.net/ipm/preview/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;"/></a></td><td style="width: 470px; padding-top: 12px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Neobsahuje žádné viry.<a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank" style="color: #4453ea;">www.avast.com</a></td></tr></table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"> </a></div></body></html>