Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Mnożenie macierzy
Koxcon
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 19.07.2015

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


Witam,

Na wstępie zaznaczę, iż dopiero zaczynam przygodę z PHP.

Chciałem napisać funkcję, która będzie mnożyć macierze dowolnych wymiarów, mam coś takiego:
  1. function mnoz_macierz($m1,$m2){
  2. $r=count($m1);
  3. $c=count($m2[0]);
  4. $p=count($m2);
  5. if(count($m1[0])!=$p){throw new Exception('Incompatible matrixes');}
  6. $m3=array();
  7. for ($i=0;$i< $r;$i++){
  8. for($j=0;$j<$c;$j++){
  9. $m3[$i][$j]=0;
  10. for($k=0;$k<$p;$k++){
  11. $m3[$i][$j]=$m3[$i][$j]+$m1[$i][$k]*$m2[$k][$j];
  12. }
  13. }
  14. }
  15. return($m3);
  16. }


I dopóki mnożę macierze kwadratowe, to funkcja działa bez problemu. Ale gdy chcę wykonać mnożenie np. macierzy 2x2 i 2x1, to funkcja w wyniku podaje macierz 2x1 o wszystkich wartościach równych 0. Czy byłby ktoś w stanie mi podpowiedzieć, co tu jest nie tak?

Pozdrawiam,
Koxcon
Go to the top of the page
+Quote Post

Posty w temacie


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: 23.08.2025 - 18:28