Diskuze: rovnice v agorytmech
Člen
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
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.
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ě
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í.
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
Zobrazeno 5 zpráv z 5.