Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Interpolacja Lagrange, Błąd w funckji
K3n0
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.05.2016

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował K3n0 3.05.2016, 18:30:41
Go to the top of the page
+Quote Post
com
post
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


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;
Go to the top of the page
+Quote Post
K3n0
post
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.05.2016

Ostrzeżenie: (0%)
-----


Właśnie wiem,że błąd zrobiłem już poprawiłem spróbuje narazie bez funkcji zrobić
Go to the top of the page
+Quote Post
com
post
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


wystarczyło to wyjąc przed (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
K3n0
post
Post #5





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.05.2016

Ostrzeżenie: (0%)
-----


Szczerze już próbuje wszystkiego i przed tez robiłem
Go to the top of the page
+Quote Post
com
post
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


ok a teraz nie działa tak?

I jak nie to co jest nie tak?
Go to the top of the page
+Quote Post
K3n0
post
Post #7





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.05.2016

Ostrzeżenie: (0%)
-----


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





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


$x.count($y) co to wgl ma być?



http://www.algorytm.org/procedury-numerycz...lagrange-j.html tu masz algorytm

Ten post edytował com 3.05.2016, 18:57:09
Go to the top of the page
+Quote Post
K3n0
post
Post #9





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.05.2016

Ostrzeżenie: (0%)
-----


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





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Inicjalizacja $t ma być wewnątrz pierwszej pętli.
Go to the top of the page
+Quote Post
K3n0
post
Post #11





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.05.2016

Ostrzeżenie: (0%)
-----


działa dzięki
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:29