close
Vážení uživatelé,
16. 8. 2020 budou služby Blog.cz a Galerie.cz ukončeny.
Děkujeme vám za společně strávené roky!
Zjistit více

Vážení uživatelé,
16. 8. 2020 budou služby Blog.cz a Galerie.cz ukončeny.
Děkujeme vám za společně strávené roky!

Matematika v robotice 2. Problém společného jazyka 2.

16. května 2013 v 4:42 | Petr |  Roboti a Matematika
Už jak jsem psal v "Analogové logice" - analogová logika - alias matematika má tu krásnou vlastnost, že mnohdy vyřeší problém aniž byste si vůbec uvědomili, že problém vznikl - jako třeba už mnou zmiňovaná pokažená čidla za která zaskakují sousední - fungující.
Proto je veliká škoda a je pro vás veliké mínus, pokud se "nějakému tomu počítání" vyhýbáte. Jenomže to vyhýbání určitě má své důvody. Jako třeba hrozivé názvy - "Výpočet odmocniny Newtonovou iterační metodou" - nikdo vám nenapíše že odmocninu z X spočtete takto

ODMOCNINA = 1
FOR I = 1 TO 10 DO
ODMOCNINA = (X / OMOCNINA + ODMOCNINA) /2
NEXT I

V čem je vtip - v tom že pokud číslo dělíte jeho vlastní odmocninou dostanete zpátky zase odmocninu takže na konci výpočtu X/ODMOCNINA bude totéž co ODMOCNINA a jejich součet dělený 2 (vlastně tedy průměr) bude úplně stejný. Neboli cyklus probíhá stále dokola a dokola dokud se hodnota ODMOCNINA neustálí na skutečné hodnotě odmocniny z X. Dokonce existuje matematická teorie, že každou iterací (průchodem smyčkou) se nám spočtou 2 cifry výsledku, proto jsem dal opakovat 10x protože odmocnina na 20 míst bohatě stačí ( i se všemi nepřesnostmi to stačí k ustálení výsledku na obstojné přesnosti). Proč jsem nedal podmínku že cyklus skočí až se hodnota ODMOCNINy přestane měnít - protože v numerické matematice jsou problémy s výrazy typu A==B. Místo nich se musí používat abs (A-B) < SKORO_NULA - s hodnotou SKORO_NULA jsou taky problémy - jaká by vlastně měla být ? Pokud ji nastavíte blbě algoritmus, pro určité vstupy, nikdy neskončí - takže hrozí prakticky nepolapitelný "bug" ve vašem softwaru - takže v rámci blbuvzdornosti se vše natvrdo zopakuje 10x a hotovo....

Mimochodem víte že se takto dají velice jednoduše a přesně počítat odmocniny i s celými čísly v mikrokontroléru, dokonce v assembleru. A víte že se takto dají počítat vzdálenosti dvou bodů při robotické navigaci ? Nevíte ? Patrně to v článku o Newtonově iterační metodě nebylo.

Čili je jasné, že pokud člověk není matematik, ale potřebuje matematiku používat, potřebuje jednak něco odvahy a potom způsob jak číst matematické články. K tomu bych rád poskytl několik rad.
  1. Čtěte moje články - netrpím "matematickým" ani "inženýrským" syndromem a dvojitým integrálům sám moc nerozumím, tak mám tendenci obejít se bez nich.
  2. Vyberte si něco co bezpečně znáte, třeba Pythagorovu větu a najděte si ji na Wikipedii a zkuste trénovat matematicky hieroglyfické písmo.
  3. Když čtete náročnější text - nejprve přečtěte to, co je psáno běžnou latinkou a až při druhém čtení se ponořte do vzorečků.
  4. Mějte na pamětí, že "ani počítače matematikům nerozumějí" - proto se výpočty musí z hieroglyfů přepsat do programovacího jazyka, který je často mnohem srozumitelnější, hledejte tedy popis algoritmu nebo "numerické řešení" z toho se dá často pochopit vo co go.
  5. Hledejte grafy a snažte se je pochopit.
  6. Nepropadejte panice - většina složitých výpočtů vede k jednoduchým prográmkům - kolem takového exponenciálního klouzavého průměru byly napsány stohy a přitom to je to prosté Xi = (1-n)*Xi-1 + n*A, kde n je z intervalu (0,1), což se ale pro n=0.25 dá napsat jako X = (3X + A) / 4 ;-)))
Za domácí úkol si zadejte heslo "Výpočet odmocniny Newtonovou iterační metodou" do Googlu a teď když víte vo co go se pokochejte tím, jak v tom všichni hledají vědu - tímto exemplárním příkladem můžete klidně začít - legračnějším o to, že to má být návod jak danou věc naprogramovat - futajbl.

Zbývá už jenom tradiční rada pro blondýny - když dojde na - minule zmiňovaný - sešitek se vzorečky a vy budete utíkat z rande - víte že možná utíkáte od zajištěného, inteligentího, solidního muže - do náruče prošoustaného hochštaplera - blbce ?
 

1 člověk ohodnotil tento článek.

Komentáře

1 Petr G. Petr G. | 16. května 2013 v 9:13

K článku na 8bit.cz nemám slov. Do firmy Honeywell jsem se hlási. Jako obsluha CNC laseru a temto 24 kluk mi zkazil iluze. Dle  jeho diskutujícich ... Nedosahuje mé IQ ani velikosti jejich penisu

2 Dalik Dalik | 22. května 2013 v 23:15

Teď už si to budu pamatovat, nadosmrti. Zapsáno do dlouhodobé paměti.
Jo, je to tam, cejtim to tam v hlavě, je to dobrý.

3 jx jx | 5. března 2016 v 19:14

Ha! Svet je maly. Zase jednou jsem si udelal chvili, ze si prectu neco od pana Kubace o blondynach, brunetach, pani Kubacove, atd. A pri listovani najdu, jak se odkazujete na "muj" clanek o metode tecen na Wikipedii.

:)

Mejte se fajn a piste dal.

Komentáře jsou uzavřeny.


Aktuální články

Reklama