[C++] Metoda Laguerre'a - wyznaczanie zer wielomianu

Maath
Użytkownik
Użytkownik
Posty: 26
Rejestracja: 20 kwie 2010, o 21:47
Płeć: Mężczyzna
Lokalizacja: Gdzieś daleko.

[C++] Metoda Laguerre'a - wyznaczanie zer wielomianu

Post autor: Maath »

Cześć,
Piszę program służący wyznaczaniu wszystkich rzeczywistych zer wielomianu, korzystam z algorytmu laguerre'a zamieszczonego tu:

Kod: Zaznacz cały

http://th-www.if.uj.edu.pl/zfs/gora/metnum11/wyklad08.pdf
,
a dokładnie ze wzoru (11) ze strony 14. Lecz przy niektórych wielomianach zdąża się że albo wartość pod pierwiastkiem jest ujemna albo albo dziele 0/0 co jest komplętną bzdurą...
Zamieszczam kod szukania zera:
Ostatnio zmieniony 22 sty 2014, o 15:59 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Awatar użytkownika
steal
Użytkownik
Użytkownik
Posty: 1043
Rejestracja: 7 lut 2007, o 18:35
Płeć: Mężczyzna
Lokalizacja: Białystok|Warszawa
Podziękował: 6 razy
Pomógł: 160 razy

[C++] Metoda Laguerre'a - wyznaczanie zer wielomianu

Post autor: steal »

Nie wgłębiałem się w treść wykładu, ale czy wzór (11) nie jest dla podany dla liczb zespolonych? Wtedy podany przez Ciebie kod jest wybrakowany, bowiem nie obsługuje działań na tych liczbach.
Nie podałeś postaci wielomianu, który powoduje błąd.
Maath
Użytkownik
Użytkownik
Posty: 26
Rejestracja: 20 kwie 2010, o 21:47
Płeć: Mężczyzna
Lokalizacja: Gdzieś daleko.

[C++] Metoda Laguerre'a - wyznaczanie zer wielomianu

Post autor: Maath »

Chociażby \(\displaystyle{ (x+1)^{3}}\), dla tego wielomianu powinno znajdować pierwiastek a tak nie jest..
Ostatnio zmieniony 22 sty 2014, o 16:00 przez Afish, łącznie zmieniany 1 raz.
Powód: Całe wyrażenia matematyczne umieszczaj w tagach [latex] [/latex].
Awatar użytkownika
steal
Użytkownik
Użytkownik
Posty: 1043
Rejestracja: 7 lut 2007, o 18:35
Płeć: Mężczyzna
Lokalizacja: Białystok|Warszawa
Podziękował: 6 razy
Pomógł: 160 razy

[C++] Metoda Laguerre'a - wyznaczanie zer wielomianu

Post autor: steal »

A obniżasz stopień wielomianu po znalezieniu miejsca zerowego?
Ciężko jest znaleźć błąd jeżeli widzi się tylko kawałek kodu źródłowego; z resztą wydaje mi się, że mało komu na forum będzie się chciało go analizować, poświęcając swój wolny czas. Niestety szukanie błędów to najmozolniejsza i najnudniejsza część programowania.
Maath
Użytkownik
Użytkownik
Posty: 26
Rejestracja: 20 kwie 2010, o 21:47
Płeć: Mężczyzna
Lokalizacja: Gdzieś daleko.

[C++] Metoda Laguerre'a - wyznaczanie zer wielomianu

Post autor: Maath »

Obniżam stopień.. Zauważyłem że powodzenie algorytmu zalezy od punktu startowego..
ODPOWIEDZ