Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Interpolacja Lagrange
Forum PHP.pl > Forum > PHP
K3n0
Witam,od jakiegoś czasu zacząłem zabawe z PHP i właśnie muszę wykonać interpolacje.
Poszukałem różne fora i udało mi sie coś takiego stworzyć ale niestety gdzieś w funkcji jest bład i niestety nie mogę go znaleść


  1. <?php
  2. $x_ = Array(1, 4, 9) ;
  3. $y_ = Array(1, 2, 3);
  4. $cnt = count($x_);
  5.  
  6. $y=0;
  7. $x=7;
  8. $t=1.0;
  9.  
  10.  
  11. for($k = 0; $k < $cnt; $k++)
  12. {
  13. for($j = 0; $j < $cnt ; $j++)
  14. {
  15. if($j != $k )
  16. {
  17. $t=$t*(($x-$x_[$j])/($x_[$k]-$x_[$j]));
  18. }
  19. }
  20. $y +=$t*$y_[$k];
  21. }
  22. echo $y;
  23. ?>
com
Zaraz ale dlaczego to masz wewnątrz funkcji?

//Przykladowe pkt do interpolacji [1,1] [4,2] [9,3]
$X[]='1,4,9';
$Y[] ='1,2,3' ;
$y= 0.0;
K3n0
Właśnie wiem,że błąd zrobiłem już poprawiłem spróbuje narazie bez funkcji zrobić
com
wystarczyło to wyjąc przed wink.gif
K3n0
Szczerze już próbuje wszystkiego i przed tez robiłem
com
ok a teraz nie działa tak?

I jak nie to co jest nie tak?
K3n0
Pokazuje błąd przy count($x) i count($y)

Notice: Array to string conversion in C:\xampp\htdocs\interpolacja\index.php on line 18

Notice: Array to string conversion in C:\xampp\htdocs\interpolacja\index.php on line 27
Array
com
$x.count($y) co to wgl ma być?



http://www.algorytm.org/procedury-numerycz...lagrange-j.html tu masz algorytm
K3n0
Już korzystałem z tego i własnie przerabiałem co nieco z tego algorytmu co mi przesłałeś

Już działa ale niestety wynik zły bo -0.92
trueblue
Inicjalizacja $t ma być wewnątrz pierwszej pętli.
K3n0
działa dzięki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.