IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: rovnice v agorytmech

Aktivity
Avatar
aetherofchao
Člen
Avatar
aetherofchao:21.4.2015 19:00

ahoj rád bych se zeptal na algoritmy pro výpočet neznámé z rovnic zkoušel jsem to sám ale měl sem problémy s jejich ukládáním a obecně se závorkami má-li někdo nějaký nápad rád si ho poslechnu

předem děkuji

 
Odpovědět
21.4.2015 19:00
Avatar
Odpovídá na aetherofchao
Michal Žůrek - misaz:21.4.2015 20:25

Záleží dsot taky na tom co máš za vstupní formát, jestli je to takový ten klasický plaintext

f=ma

nebo je to něco rozumnějšího jako třeba MathML, kde jsi ušetřen toho parsování. Ten postup pak už je o tom, že přesuneš neznámou na jednu stranu a všechno ostatní na druhou pomoci ekvivalentních úprav.

 
Nahoru Odpovědět
21.4.2015 20:25
Avatar
aetherofchao
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
aetherofchao:22.4.2015 15:06

diky moc
nemel jsem sice přímo text, byly to spíše pole. myslím že z MathML by se špatně rovnice četly, ale nemam v tom velké skušenosti ,převáděnní stringu na pole jsem sice neřešil ale ze skušenosti vím že to není nijak složité (pouze zdlouhavé)

upravování rovnic není rovněž tak jednoduché pokud chceš aby program pracoval z realnýmy čísly př( (5ˇ(0,5))ˇ(2) druhá odmocnina na druhou != 5 při počítání v přirozených číslech) proto musíš na př. říct že 5 = 5ˇ1 a potom ti zase nefunguje sčítaní jak by mnelo a podobně

 
Nahoru Odpovědět
22.4.2015 15:06
Avatar
Jan Barášek
Tvůrce
Avatar
Jan Barášek:22.4.2015 19:10

Být tebou, tak se naučím nejprve nějaké numerické metody, protože analytické řešení rovnic je opravdová věda a správně ji pochopit trvá opravdu dlouho.

Přečti si třeba něco o metodě "půlení intervalů", přes které lze najít řešení většiny rovnic jedné reálné proměnné s libovolnou přesností.

Pokud bys měl vstup v tomto tvaru:
A = B
Tak to přepíšeš na (pouhým spojením řetězců):
A-(B)=0

A pak jen vesele dosazuješ hodnoty za proměnnou a zkoumáš, kdy se přiblížíš co nejblíže nule (jakmile budeš blízko, tak budeš kontrolovat v menším intervalu) a tímto způsobem velice jednoduše a rychle najdeš všechny řešení.

Nahoru Odpovědět
22.4.2015 19:10
Chci naučit počítače přemýšlet a změnit tak svět vyhledávání.
Avatar
aetherofchao
Člen
Avatar
Odpovídá na Jan Barášek
aetherofchao:23.4.2015 12:52

nad tímto způsobem jsem také uvažoval ale některé rovnice mají více možných řešení a některé naopak žádné proto jsem toto řešení zprvu zavrhl nicméně zkusím se na něj ještě podívat každopádně děkuji

 
Nahoru Odpovědět
23.4.2015 12:52
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.