Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Dobrý den,
potřeboval bych poradit a říci postup, jak mám určit kořeny kubické rovnice.
V excelu dělám výpočty pro síly na lano, kde pro jednu hodnotu se musí odečítat z grafu a nebo je možné graf nahradit kubickou rovnicí a to se mi nedaří.
Rovnice má tvar a*x^3 + b*x^2 + c*x + d = 0, kde hodnoty a,b,c,d mám již spočtené.
Mohl bych Vás poprosit, jestli byste mi poradili postup krok po kroku, jak mám postupovat? Už jsem zkoušel Cardanovy vzorce, ale stále bez výsledku.
Pokusil bych se postup poté napsat do excelu, aby mi to kořeny vždy spočetlo a já mohl výsledek použít do dalších vzorců.
Předem Vám všem děkuji za rady. Už je to nějaký pátek, co jsem po škole.
Offline
↑ LukasM33:
Ahoj,
nejdřív musíš zlikvidovat kvadratický člen substitucí x=y-b/(3a). Pak teprve můžeš nasadit Cardanovy vzorce.
Offline
↑ Eratosthenes:
Dobrý den,
děkuji za odpověď. Mohl bych Vás poprosit, bylo by možné tento postup rozepsat více ?
Co jsem taky nastudoval, tak všude je ,že mám rovnici vydělit A. Poté dostanu novou rovnici s novými např. B1=(b/a), B2=(c/a), B3=(d/a).
Poté teda napíšu ,že x=y-b/(3a) a dosadím do rovnice x^3+B1*x^2+B2*x+B3=0 ?
Opravdu v to muž plavu.
Předem děkuji.
Offline
↑ Eratosthenes:
↑ LukasM33:
Cardanovym vzorcum bych se spis vyhnul, pokud to chces nacpat do stroje, protoze kdyz si nedas bacha, teoreticky ti muze vyjit az 9 korenu.
Asi nejblbuvzdornejsi zpusob podle me je v rovnici [mathjax]ax^3+bx^2+cx+d=0[/mathjax] zasubstituovat [mathjax]x=y-\frac{b}{3a}+\frac{b^2-3ac}{9a^2y}[/mathjax], coz po uprave a prenasobeni rovnice [mathjax]y^3[/mathjax] (pripad [mathjax]y=0[/mathjax] se musi zvlast) vede na kvadratickou rovnici
[mathjax2]a(y^3)^2+\Big(\frac{2b^3-9abc}{27a^2}+d\Big)y^3+\frac{(b^2-3ac)^3}{729a^5}=0,[/mathjax2]
kterou uz vyresis standardne.
Offline
↑ LukasM33:
V Excelu to uděláš takto:
Nejdříve si spočítáš v nějaký buňkách pomocné koeficienty p a q:
[mathjax]p=\frac{b^2-3ac}{9a^2}[/mathjax]
[mathjax]q=\frac{9abc-2b^3-27a^2d}{54a^3}[/mathjax]
Pak v další buňce z toho dopočítáš diskriminant:
[mathjax]D=q^2-p^3[/mathjax]
A teď rozlišíš případy, kdy má rovnice jeden jednonásobný reálný kořen (D>0), a kdy jsou tři reálné kořeny (mohou být stejné, D<=0):
Jeden kořen (jedna buňka): [mathjax]D>0\Rightarrow\,x=\sqrt[3]{q-\sqrt{D}}+\sqrt[3]{q+\sqrt{D}}-\frac{b}{3a}[/mathjax]
Tři kořeny (tři samostatné buňky): [mathjax]D\leq 0\Rightarrow \,x_{1,2,3}=2\sqrt{p}\cos \left(\frac{1}{3}\cdot \arccos \frac{q}{\sqrt{p^3}}+k\cdot\frac{2\pi}{3} \right)-\frac{b}{3a}[/mathjax],
za [mathjax]k[/mathjax] postupně dosadíš hodnoty 0, 1, 2 (v Excelu tři různé buňky).
Jsou i speciální (jednodušší) vzorce pro případy násobných kořenů, ale to je asi zbytečné do toho zakomponovávat.
Jednotlivé použité funkce v Excelu umíš použít?
Offline
↑ LukasM33:
Když koeficienty budeš mít v buňkách A1, B1, C1 a D1, tak to bude takto:
p (do buňky třeba E1): =(B1^2-3*A1*C1)/(9*A1^2)
q (do buňky třeba F1): =(9*A1*B1*C1-2*B1^3-27*A1^2*D1)/(54*A1^3)
D (do buňky třeba G1): =F1^2-E1^3
A teď výsledky do buněk třeba H1, I1, J1:
H1: =když(G1>0;(F1-G1^(1/2))^(1/3)+(F1+G1^(1/2))^(1/3)-B1/(3*A1);2*E1^(1/2)*cos(1/3*arccos(F1/E1^(3/2)))-B1/(3*A1))
I1: =když(G1>0;"";2*E1^(1/2)*cos(1/3*arccos(F1/E1^(3/2))+2*Pi()/3)-B1/(3*A1))
J1: =když(G1>0;"";2*E1^(1/2)*cos(1/3*arccos(F1/E1^(3/2))+4*Pi()/3)-B1/(3*A1))
Offline
↑ surovec:
Zkusil jsem co jste zaslal a když jsem porovnal zadané koeficienty do excelu a do online kalkulačky, tak mi sedí buňka H1 mi vypisuje číslo, které mi sedí dle kalkulačky, I1 a J1 mi nic nevypisuje.
Ale dle normy, tak výsledný kořen musí být od 0 do 1. Tak jestli mi teoreticky stačí poté výsledek Vašeho H1 ?
Mam kdyžtak udělané v excelu, mohl bych klidně zaslat, ale nevím, zdali jde nahrát soubor.
Pokoušel jsem se udělat v excelu i výpočet dle rovnic, ale výsledky mi nesedí.
Offline
↑ LukasM33:
Mně to sedí. Třeba koeficienty 2, 3, -4, 5 dávají jeden kořen a to -2,62, a koeficienty 2, -3, -4, 5 dávají tři kořeny – 1,85, -1,35 a 1. Což odpovídá i kontrole ve wolframu. Nejsem si jist, jestli v americké lokalizaci Excelu není místo arccos funkce acos, to by mohl být ten důvod, proč to u tebe nehází výsledky casus irreducibilis...
Offline
↑ surovec:
Ano, už mi to sedí také. Nemůže to být předtím, že dle kalkulačky, mi vycházeli čísla s komplexním číslem ?
https://www.hackmath.net/cz/kalkulacka/ … %99e%C5%A1
Offline
↑ LukasM33:
Tak samozřejmě, pokud má kubická rovnice právě jeden jednonásobný reálný kořen, pak má právě dva komplexní (sdružené) kořeny.
Offline
↑ Bati:
Ahoj, pěkné. Jak se na tu substituci dá přijít? Hlavně na ten člen, kde je y ve jmenovateli.
Jak by se ošetřil případ y=0? Nenapadá mě jiný způsob než z té substituční rovnosti vyjádřit y pomocí x (to bude nějaká kvadratická rovnice) a položit y=0 a tak získat podmínku pro x a ověřit zda toto x je řešením....
Dá se něco podobného použít i na rovnici čtvrtého stupně?
Offline
↑ Bati:
... ale přijde mi to jako "náhoda", že to tak vyjde - protože po té substituci musíš mít nulové koeficienty u členů y^2,1/y^2,y,1/y (tedy jsou čtvyři), ale koeficienty v té substutuci můžeš volit jenom dva - takže obecně jednou volbou eliminuješ jeden člen, ale tedy díky šťastné náhodě se toho elimnuje víc...
Offline
↑ check_drummer:
Jmenuje se to Vietova substituce, tak asi nejak z Vietovych vzorcu, ani uz nevim. Kdyz vis, ze to tak vyjde, tak uz si ty spravne koeficienty dopocitas snadno... Nulu osetris podminkou [mathjax]b^2=3ac[/mathjax]: pokud je splnena, mas aspon 1 nulovy koren a problem se redukuje, jinak ne. Kvarticka rovnice ma jiny charakter, tam musis doplnovat na ctverce.
Offline
Bati napsal(a):
↑ check_drummer:
Jmenuje se to Vietova substituce, tak asi nejak z Vietovych vzorcu, ani uz nevim. Kdyz vis, ze to tak vyjde, tak uz si ty spravne koeficienty dopocitas snadno... Nulu osetris podminkou [mathjax]b^2=3ac[/mathjax]: pokud je splnena, mas aspon 1 nulovy koren a problem se redukuje, jinak ne. Kvarticka rovnice ma jiny charakter, tam musis doplnovat na ctverce.
Když znáš tvar té substituce, tak je to snadnější, ale jde o to nějak získat ten tvar. :-)
K té nule - [mathjax]b^2=3ac[/mathjax] - sice pak můžu tu rovnici vydělit [mathjax]y^3[/mathjax], ale jak zjistím x, které odpovídá případu y=0? A jsi si jistý, že to musíš odlišovat? Protože např. u řešení kvadatické rovnice nemusíš oodlišovat, zda je absolutní člen 0 nebo není. Ale je pravda, že tady máš v substituci y ve jmenovateli... Ale v té výsledné rovnici už ne, tak je možné, že by to zafungovat mohlo....
K té "kvartické" - slovo "musíš" je asi trochu silné - jsi si jistý, že neexistuje žádná podobná substituce, která vede k cíli i u kvartické rovnice? Pod "existuje" nemyslím "je známá", ale "eixstuje" ve smyslu v jakém je používáno v logice.
Offline
check_drummer napsal(a):
Když znáš tvar té substituce, tak je to snadnější, ale jde o to nějak získat ten tvar. :-)
Ten tvar je prave to jediny, co si pamatuju, prijde mi tak nejak intuitivni, ale asi neumim rict proc.
K té nule - [mathjax]b^2=3ac[/mathjax] - sice pak můžu tu rovnici vydělit [mathjax]y^3[/mathjax], ale jak zjistím x, které odpovídá případu y=0? A jsi si jistý, že to musíš odlišovat? Protože např. u řešení kvadatické rovnice nemusíš oodlišovat, zda je absolutní člen 0 nebo není. Ale je pravda, že tady máš v substituci y ve jmenovateli... Ale v té výsledné rovnici už ne, tak je možné, že by to zafungovat mohlo....
Mas pravdu, to rozlisovani bude zbytecne, az na hoodne specialni pripad, kdy oba ty koeficienty kvadraticke rovnice vyjdou nula, v kteremzto pripade jsi jiste nasobil puvodni rovnici nulou.
K té "kvartické" - slovo "musíš" je asi trochu silné - jsi si jistý, že neexistuje žádná podobná substituce, která vede k cíli i u kvartické rovnice? Pod "existuje" nemyslím "je známá", ale "eixstuje" ve smyslu v jakém je používáno v logice.
Jsem si celkem jisty, ze neexistuje, ale dukaz po mne nechtej, algebru uz fakt neovladam:-D
Offline
Bati napsal(a):
check_drummer napsal(a):
Když znáš tvar té substituce, tak je to snadnější, ale jde o to nějak získat ten tvar. :-)
Ten tvar je prave to jediny, co si pamatuju, prijde mi tak nejak intuitivni, ale asi neumim rict proc.
Podle mě asi proto, že se pak dá pěkně krátít čitatele a jmenovatele, takže dát y tu do čitatele a tu do jmenovatele a pak ten výraz umocnit má za následek, že dostaneš když už ne absolutní členy tak členy s nižšími mocninami...
Offline
↑ Bati: ↑ check_drummer:
Je-li y=0 => (3) q=0 a nemusím nic řešit.
Offline
↑ Eratosthenes:
Pěkný, ale musí se přijít na to, že tu kvadratickou rovnici musíme vydělit z.
Další možnost je po kroku (4) najít hodnotu B (porovnání absolutních členů) a pak už hned můžeme řešit tu kvadratickou rovnici s koeficienty A,B.
Ale podle mě tady není problém s y=0, ale s z=0 - ale pak bude p=0 a taky tu rovnici snadno vyřešíme...
Offline
check_drummer napsal(a):
↑ Eratosthenes:
Pěkný, ale musí se přijít na to, že tu kvadratickou rovnici musíme vydělit z.
No jo, při řešení problému se holt vždycky musí na něco přijít :-)
Mně byla nápovědou ta substituce (4), která se uvádí ve tvaru y=w-p/(3w), kde to w je nová neznámá a dělí se jí :-) Viete na tom byl hůř - ten tu nápovědu neměl...
Offline
Pozdravujem,
Len mala poznamka.
Uzitocne informacie na tvoju temu najdes tu
https://cs.m.wikipedia.org/wiki/Kubická_rovnice
No vsak o mnoho kompletnejsie informacie najdes napr. v anglickej, v francuzkej verzii…
Ak ta zaujimaju aj ronvnice 4° stupna, mozes tiez nast indikacie na wikipedii.
Co sa tyka rovnic vysieho stupna ako 5°, tak na take rovnice neexistuje vseobecna metoda na riesenie.
Offline
Já bych na to šel Newtonovskou iterací (taky se to nazývá "metoda tečen"). Případně prostě půlením intervalu. U kubické rovnice je jistota, že alespoň jeden kořen je reálný, takže nemusíme iterovat v komplexních číslech. U Newtonovy metody, pokud tedy máme štěstí a konverguje to (což u kubické rovnice asi nastane vždycky) nám stačí těch iterací jen pár.
Kořenem pak můžeme rovnici vydělit a zbylou kvadratickou už vyřešíme normálně. Nebo použijeme Newtonovu metodu v komplexních číslech, a pak můžeme najít rovnou všechny 3 kořeny.
Nevím, jak moc velký problém je to udělat v excelu, ale v běžných jazycích je to na pár řádků. Newtonův iterační vztah je
[mathjax]x_{k+1} = x_x - \frac{P(x)}{P'(x)}[/mathjax]
Potřebujeme krom polynomu i jeho derivaci, což je ale v případě polynomu triviální. Jen se obávám, že excel nebude umět přímo počítat s komplexními čísly.
Offline
Jednoduchá ukázka:
[mathjax]x^3 + x^2 + x + 1 = 0[/mathjax]
[mathjax]P(x) = x^3 + x^2 + x + 1[/mathjax]
[mathjax]P'(x) = 3x^2 + 2x + 1[/mathjax]
x(k+1) = x(k) - P(x)/P'(x)
Zvolíme x0 = 0
x1 = 0 - 1/1 = -1
x2 = -1 - (-1 + 1 - 1 +1)/(3 - 2 + 1) = -1 - 0/(...) = -1
x3 = ... to už bude stejné.
No, to je náhoda, že jsme se trefili přesně do kořenu, to jsem úplně nechtěl, ale princip je asi jasný.
Normálně co iterace to desetinné místo, nebo možná i dvě. Zpravidla jich stační jen pár.
Offline
↑ MichalAld:
Já myslím, navzdory často proklamovanému tvrzení, že výhodnější je řešit kubickou rovnici analyticky. Při správném použití je to triviální a vede okamžitě k přesnému výsledku, bez nějakých prvotních odhadů (jejichž stanovení má nějaká svá další pravidla) a následného numerického přibližování v kdo ví kolika krocích. Krom toho lze analytický postup použít i na rovnice s proměnnými místo pevně daných koeficientů.
Offline