![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 2.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mój problem wygląda tak. Napisałam skrypt obliczający miejsca zerowe funkcji za pomocą metody siecznych. Dane wejściowe to dwa punkty startowe, dopuszczalny błąd obliczeń i max liczba iteracji. Wszystko działa ok dopóki nie wpiszę np takich danych: x1 = 0 x2=5 blad = 0.99 liczba iteracji = np 200 wtedy otrzymuje dosyc dziwny wynik Miejsce zerowe funkcji: 12833090813.989 przy x1 = 0 x2=8 blad = 0.99 liczba iteracji = np 200 Miejsce zerowe funkcji: -24.022540007882 Można jakoś uniknąć podobnych rewelacji? kod skryptu:
link do skryptu w praktyce: http://www.akadna.pl/sieczne/ DRUGA sprawa. wczesniej uruchamiałam ten skrypt na innym serwerze (mam dostęp do kilku kont na kilku roznych serwerach), do tej pory działał. Teraz nie działa(dodam ze nic nie zmienialam w miedzyczasie w kodzie). Przyjmuje dane z formularza ale nie wyswietla efektów strony. Wie ktoś może co jest grane? link do niedzialajacego (2006-11-02 18:56 ) skryptu: http://www.margot.webd.pl/pk/sieczne/ z gory dzieki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 22.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
po pierwsze:
Zwróć uwagę na fragment kodu:
czy wartość bezwzględna z czegokolwiek może być kiedykolwiek mniejsza od zera? po drugie: prezentowany przez Ciebie kod oblicza miejsce zerowe funkcji 2*sin(x+2), natomiast skrypt na stronie oblicza miejsce zerowe funkcji -x^3+(3*x^2)-x+9. Być może stąd różnica w wynikach. Po wpisaniu danych, które podałeś otrzymałem poprawną (dla tych danych) wartość 0.81818181818182, ale po wpisaniu błędu np. 0.0001 wynik jest już 3.4620446236724 i jest to zgodne z tym pokazuje mi excel. po trzecie: pamiętaj, że metoda siecznych może nie być zbieżna dla konkretnych danych danych wejściowych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 16:47 |