Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> skrypt - niemożliwe wyniki obliczeń
yariire
post
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:



  1. <?
  2.  
  3. function fun($x)
  4. {
  5. return 2*sin($x+2);
  6. }
  7.  
  8.  
  9. $f1 = fun($x1); $f2 = fun($x2);
  10.  
  11. settype($x0, "double");
  12. settype($x1, "double");
  13. settype($x2, "double");
  14. settype($f0, "double");
  15. settype($f1, "double");
  16. settype($f2, "double");
  17. settype($b, "double");
  18.  
  19.  
  20.  
  21. while($it && (abs($x1 - $x2) > $b))
  22. {
  23.  
  24.  
  25.  if(abs($f1 - $f2) < 0)
  26.  {
  27.  print("Złe punkty startowe.n");
  28.  $it = 0;
  29.  break;
  30. }
  31.  $x0 = $x1 - $f1 * ($x1 - $x2) / ($f1 - $f2);
  32.  $f0 = fun($x0);
  33.  if(abs($f0) < 0) break;
  34.  $x2 = $x1; $f2 = $f1;
  35.  $x1 = $x0; $f1 = $f0;
  36.  if(!(--$it)) print("Przekroczona liczba iteracji.n");
  37.  }
  38.  
  39.  
  40.  if($it) print("Miejsce zerowe funkcji: $x0");
  41.  
  42. ?>




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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:51