[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

styra01
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 22 maja 2013, o 13:06
Płeć: Mężczyzna
Lokalizacja: Polska

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: styra01 »

Witajcie :)
Czy może spotkał się ktoś z takim tematem, ew. przerabiał ktoś numeryczne rozwiązywanie równań kwadratowych?

Staram się jakoś zebrać wszystkie materiały odnośnie tego tematu w całość, niestety w internecie nie ma o tym zbyt wiele informacji, poza kilkoma PDF'ami np.

Kod: Zaznacz cały

http://www.if.uz.zgora.pl/~ekokomp/metody_numeryczne.pdf


Ew. może ktoś się orientuje, czy ten konkretny temat jest poruszany w jakiejś książce?

Z góry dziękuję za wszelkie informacje, materiały :)
lemoid
Użytkownik
Użytkownik
Posty: 199
Rejestracja: 24 maja 2012, o 23:36
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 5 razy
Pomógł: 30 razy

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: lemoid »

wpisałem szukaną przez Ciebie frazę po angielsku i ciężko by mi było wrzucać poszczególne linki, bo jest ich troche^duzo
kejkun7
Użytkownik
Użytkownik
Posty: 405
Rejestracja: 24 lip 2012, o 23:16
Płeć: Mężczyzna
Lokalizacja: hmm ?
Podziękował: 147 razy
Pomógł: 2 razy

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: kejkun7 »

"po angielsku" a skad pomysl, ze kolega szukal po angielsku, a nie po polsku ? ...
lemoid
Użytkownik
Użytkownik
Posty: 199
Rejestracja: 24 maja 2012, o 23:36
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 5 razy
Pomógł: 30 razy

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: lemoid »

Skąd pomysł, żeby szukać tylko po polsku?

a tak poważniej, nawet z podstawową znajomością języka, mając poniekąd świadomość że rekordy wyszukiwań w języku polskim < angielskim, można coś znaleźć i z tego poczytać. Nie ma co dążyć do nacjonalizacji internetu.
styra01
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 22 maja 2013, o 13:06
Płeć: Mężczyzna
Lokalizacja: Polska

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: styra01 »

Rozumiem, że chodzi o hasełko "solving a quadratic equation numerically" ?
Akurat po angielsku jest sporo tych wyników, w przeciwieństwie do polski. Spróbuję coś z tego wyciągnąć
Jednak jeśli ktoś zna książkę, w której ten temat się przewija, to byłbym bardzo wdzięczny o tytuł / autora. Jakoś wolę mieć wszystko na papierku niż na monitorze
kejkun7
Użytkownik
Użytkownik
Posty: 405
Rejestracja: 24 lip 2012, o 23:16
Płeć: Mężczyzna
Lokalizacja: hmm ?
Podziękował: 147 razy
Pomógł: 2 razy

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: kejkun7 »

"wszystko na papierku niż na monitorze" mozna zawsze wydrukowac xd :P
np. pdf'a 30 stron, co to jest xd.
styra01
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 22 maja 2013, o 13:06
Płeć: Mężczyzna
Lokalizacja: Polska

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: styra01 »

Trochę zaniedbałem temat
Żeby się upewnić na 100% - Numeryczne rozwiązywanie równań kwadratowych to np. metoda Bisekcji oraz metoda Newtona-Raphsona?
dexter90
Użytkownik
Użytkownik
Posty: 391
Rejestracja: 11 lis 2011, o 09:48
Płeć: Mężczyzna
Pomógł: 32 razy

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: dexter90 »

Tak.
styra01
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 22 maja 2013, o 13:06
Płeć: Mężczyzna
Lokalizacja: Polska

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: styra01 »

Nie wiem czy dobrze to rozumiem / rozwiązuje. Poniżej przykład rozwiązywania równań kwadratowych metodą Newtona:

Mamy równanie:
\(\displaystyle{ x^{2}=612}\)
Ustalamy liczbę początkową na 10.

Sprowadzamy funkcję do postaci:
\(\displaystyle{ f(x)=x^2-612}\), jej pochodna wynosi \(\displaystyle{ f'(x)=2x}\)

Liczymy:
\(\displaystyle{ x_{1}= x_{0}- \frac{f( x_{0}) }{f'( x_{0}) }=10- \frac{10^2-612}{2*10}=35,6}\)

\(\displaystyle{ x_{2}= x_{1}- \frac{f( x_{1}) }{f'( x_{1}) }=35,6- \frac{35,6^2-612}{2*35,6}=26,4}\)

\(\displaystyle{ x_{3}= x_{2}- \frac{f( x_{2}) }{f'( x_{2}) }=26,4- \frac{26,4^2-612}{2*26,4}=24,79}\)

itd... aż do \(\displaystyle{ x_{10}}\)

Czy powyższe kroki / obliczenia są poprawne?
Awatar użytkownika
mdd
Użytkownik
Użytkownik
Posty: 1897
Rejestracja: 14 kwie 2013, o 10:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 2 razy
Pomógł: 512 razy

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: mdd »

styra01 pisze: Mamy równanie:
\(\displaystyle{ x^{2}=612}\)
Ustalamy liczbę początkową na 10.

Sprowadzamy funkcję do postaci:
\(\displaystyle{ f(x)=x^2-612}\), jej pochodna wynosi \(\displaystyle{ f'(x)=2x}\)

Liczymy:
\(\displaystyle{ x_{1}= x_{0}- \frac{f( x_{0}) }{f'( x_{0}) }=10- \frac{10^2-612}{2 \cdot 10}=35,6}\)

\(\displaystyle{ x_{2}= x_{1}- \frac{f( x_{1}) }{f'( x_{1}) }=35,6- \frac{35,6^2-612}{2 \cdot 35,6}=26,4}\)

\(\displaystyle{ x_{3}= x_{2}- \frac{f( x_{2}) }{f'( x_{2}) }=26,4- \frac{26,4^2-612}{2 \cdot 26,4}=24,79}\)

itd... aż do \(\displaystyle{ x_{10}}\)

Czy powyższe kroki / obliczenia są poprawne?
Jest OK. Dlaczego masz wątpliwości?
Ukryta treść:    
styra01
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 22 maja 2013, o 13:06
Płeć: Mężczyzna
Lokalizacja: Polska

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: styra01 »

Dzięki za odpowiedź :) Jeszcze pytanie, czy dobre rozwiązanie (tym razem metodą Bisekcji):

Równanie \(\displaystyle{ x^{2}-1=0}\), przedział \(\displaystyle{ [-1,3; -0,5]}\), granica błędu: \(\displaystyle{ \bigtriangleup=0,25}\)

Najpierw sprawdzamy czy: \(\displaystyle{ |b-a| \le \bigtriangleup}\), czyli \(\displaystyle{ |-0,5 - (-1,3)| = 0,8 < 0,25}\)

Następnie obliczamy:
\(\displaystyle{ x= \frac{a+b}{2}= \frac{-1,3+(-0,5)}{2}=-0,9}\), sprawdzamy czy \(\displaystyle{ f(x)=0}\) => \(\displaystyle{ f(-0,9)=-0,9^2-1=-0,19}\), czyli \(\displaystyle{ f(x) \neq 0}\)

Teraz posiadamy dwa przedziały: \(\displaystyle{ [-1,3; -0,9] oraz [-0,9; -0,5]}\)
Nowy przedział, to taki dla którego zachodzi \(\displaystyle{ f(a)f(b) < 0}\), tak więc liczymy:

\(\displaystyle{ f(-1,3)*f(-0,9)=0,69*(-0,19)=-0,1311 < 0}\) - znaleźliśmy nowy przedział
\(\displaystyle{ f(-0,9)*f(-0,5)=-0,19*(-0,75)=0,1425 > 0}\)

Powtarzamy kroki od początku, z nowym przedziałem \(\displaystyle{ [-1,3; -0,9]}\):
\(\displaystyle{ |-0,9 - -(1,3)|=0,4 > \bigtriangleup 0,25}\)

Obliczamy:
\(\displaystyle{ x= \frac{-1,3+(-0,9)}{2}=-1,1}\)
\(\displaystyle{ f(-1,1)=(-1,1)^2-1=0,21}\), czyli \(\displaystyle{ f(x) \neq 0}\)

Mamy teraz 2 nowe przedziały: \(\displaystyle{ [-1,3; -1,1] oraz [-1,1; -0,9]}\)
\(\displaystyle{ f(-1,3)*f(-1,1)=0,69 * 0,21 = 0,1449 > 0}\)
\(\displaystyle{ f(-1,1)*f(-0,9)=0,21*(-0,19)=-0,0399 < 0}\) - znaleziono w przedziale \(\displaystyle{ [-1,1; -0,9]}\)

Powtarzamy kroki od początku:
\(\displaystyle{ |-0,9-(-1,1)|=0,2< \bigtriangleup 0,25}\)

\(\displaystyle{ x= \frac{-1,1+(-0,9)}{2}=-1}\)

Rozwiązaniem równania jest -1.

Pytanie, w czym najlepiej napisać programy pod te dwie metody (Bisekcji oraz Newton'a), znam trochę C++, Pascala (podstawy podstaw). Czy może zaryzykować jakieś tutoriale i spróbować to odpalić w Matlabie / Octave?
Gouranga
Użytkownik
Użytkownik
Posty: 1590
Rejestracja: 16 maja 2013, o 17:56
Płeć: Mężczyzna
Lokalizacja: Trójmiasto
Podziękował: 11 razy
Pomógł: 246 razy

[Metody numeryczne] Numeryczne rozwiązywanie równań kwadrat.

Post autor: Gouranga »

\(\displaystyle{ \Delta = 0.25}\) więc tam gdzie ci wyszło 0.21 możesz zakończyć
ODPOWIEDZ