Matematické Fórum

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

#1 24. 01. 2024 07:07

LukasM33
Zelenáč
Příspěvky: 6
Reputace:   
 

Určení kořenů kubické rovnice

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

 

#2 24. 01. 2024 09:33

Eratosthenes
Příspěvky: 3111
Reputace:   140 
 

Re: Určení kořenů kubické rovnice

↑ LukasM33:

Ahoj,

nejdřív musíš zlikvidovat kvadratický člen substitucí x=y-b/(3a). Pak teprve můžeš nasadit Cardanovy vzorce.


Budoucnost patří aluminiu.

Offline

 

#3 24. 01. 2024 09:46

LukasM33
Zelenáč
Příspěvky: 6
Reputace:   
 

Re: Určení kořenů kubické rovnice

↑ 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

 

#4 24. 01. 2024 09:46

Bati
Příspěvky: 2467
Reputace:   192 
 

Re: Určení kořenů kubické rovnice

↑ 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

 

#5 24. 01. 2024 11:43 — Editoval surovec (24. 01. 2024 11:51)

surovec
Příspěvky: 1166
Reputace:   25 
 

Re: Určení kořenů kubické rovnice

↑ 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

 

#6 24. 01. 2024 11:58

LukasM33
Zelenáč
Příspěvky: 6
Reputace:   
 

Re: Určení kořenů kubické rovnice

↑ surovec:
Popravdě když to čtu, tak raději řeknu, že ne.

Offline

 

#7 24. 01. 2024 12:13

surovec
Příspěvky: 1166
Reputace:   25 
 

Re: Určení kořenů kubické rovnice

↑ 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

 

#8 24. 01. 2024 15:48

Eratosthenes
Příspěvky: 3111
Reputace:   140 
 

Re: Určení kořenů kubické rovnice

↑ surovec:

A co pravidla?


Budoucnost patří aluminiu.

Offline

 

#9 24. 01. 2024 16:43

LukasM33
Zelenáč
Příspěvky: 6
Reputace:   
 

Re: Určení kořenů kubické rovnice

↑ 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

 

#10 24. 01. 2024 17:38 — Editoval surovec (24. 01. 2024 17:41)

surovec
Příspěvky: 1166
Reputace:   25 
 

Re: Určení kořenů kubické rovnice

↑ 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

 

#11 24. 01. 2024 17:53

LukasM33
Zelenáč
Příspěvky: 6
Reputace:   
 

Re: Určení kořenů kubické rovnice

↑ 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

 

#12 24. 01. 2024 18:32

surovec
Příspěvky: 1166
Reputace:   25 
 

Re: Určení kořenů kubické rovnice

↑ 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

 

#13 24. 01. 2024 18:40

check_drummer
Příspěvky: 5508
Reputace:   106 
 

Re: Určení kořenů kubické rovnice

↑ 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ě?


"Máte úhel beta." "No to nemám."

Offline

 

#14 24. 01. 2024 18:53

check_drummer
Příspěvky: 5508
Reputace:   106 
 

Re: Určení kořenů kubické rovnice

↑ 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...


"Máte úhel beta." "No to nemám."

Offline

 

#15 24. 01. 2024 20:22

Bati
Příspěvky: 2467
Reputace:   192 
 

Re: Určení kořenů kubické rovnice

↑ 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

 

#16 25. 01. 2024 13:30

check_drummer
Příspěvky: 5508
Reputace:   106 
 

Re: Určení kořenů kubické rovnice

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.


"Máte úhel beta." "No to nemám."

Offline

 

#17 25. 01. 2024 15:52

Bati
Příspěvky: 2467
Reputace:   192 
 

Re: Určení kořenů kubické rovnice

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

 

#18 25. 01. 2024 21:33

check_drummer
Příspěvky: 5508
Reputace:   106 
 

Re: Určení kořenů kubické rovnice

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...


"Máte úhel beta." "No to nemám."

Offline

 

#19 25. 01. 2024 23:41 — Editoval Eratosthenes (25. 01. 2024 23:42)

Eratosthenes
Příspěvky: 3111
Reputace:   140 
 

Re: Určení kořenů kubické rovnice

↑ Bati:  ↑ check_drummer:

https://i.ibb.co/kmmYrZ5/Vietova-Subst.jpg

Je-li y=0 => (3) q=0 a nemusím nic řešit.


Budoucnost patří aluminiu.

Offline

 

#20 26. 01. 2024 00:34

check_drummer
Příspěvky: 5508
Reputace:   106 
 

Re: Určení kořenů kubické rovnice

↑ 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...


"Máte úhel beta." "No to nemám."

Offline

 

#21 26. 01. 2024 02:26 — Editoval Eratosthenes (26. 01. 2024 02:33)

Eratosthenes
Příspěvky: 3111
Reputace:   140 
 

Re: Určení kořenů kubické rovnice

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...


Budoucnost patří aluminiu.

Offline

 

#22 26. 01. 2024 11:12

vanok
Příspěvky: 14611
Reputace:   742 
 

Re: Určení kořenů kubické rovnice

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.


Srdecne Vanok
The respect, the politeness are essential qualities...and also the willingness.
Do not judge the other one.
Ak odpovedam na nejaku otazku. MOJ PRINCIP NIE JE DAT ODPOVED ALE UKAZAT AKO SA K ODPOVEDI DOSTAT

Offline

 

#23 26. 01. 2024 16:04

MichalAld
Moderátor
Příspěvky: 5347
Reputace:   130 
 

Re: Určení kořenů kubické rovnice

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

 

#24 26. 01. 2024 16:12

MichalAld
Moderátor
Příspěvky: 5347
Reputace:   130 
 

Re: Určení kořenů kubické rovnice

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

 

#25 26. 01. 2024 18:09

surovec
Příspěvky: 1166
Reputace:   25 
 

Re: Určení kořenů kubické rovnice

↑ 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

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson