Hey guys ,
I made a small program that does matrix calculations but seem to be getting an unusual problem:
There are two pages.
matrix.php
[php]
A11A12A13
A21A22A23
A31A32A33
Matrix B
B11B12B13
B21B22B23
B31B32B33
Operation:
matrix_core.php
[php]
@$b11 = $_GET[‘b11’];
@$b12 = $_GET[‘b12’];
@$b13 = $_GET[‘b13’];
@$b21 = $_GET[‘b21’];
@$b22 = $_GET[‘b22’];
@$b23 = $_GET[‘b23’];
@$b31 = $_GET[‘b31’];
@$b32 = $_GET[‘b32’];
@$b33 = $_GET[‘b33’];
@$operation = $_GET[‘operation’];
//Determenant
@$delta1 = $a11*(($a22*$a33)-($a32*$a23));
@$delta2 = $a12*(($a21*$a33)-($a31*$a23));
@$delta3 = $a13*(($a21*$a32)-($a31*$a22));
@$determenant_a = $delta1-$delta2+$delta3;
@$delta4 = $b11*(($b22*$b33)-($b32*$b23));
@$delta5 = $b12*(($b21*$b33)-($b31*$b23));
@$delta6 = $b13*(($b21*$b32)-($b31*$b22));
@$determenant_b = $delta4-$delta5+$delta6;
//Add
@$a1 = $a11+$b11;
@$a2 = $a12+$b12;
@$a3 = $a13+$b13;
@$a4 = $a21+$b21;
@$a5 = $a22+$b22;
@$a6 = $a23+$b23;
@$a7 = $a31+$b31;
@$a8 = $a32+$b32;
@$a9 = $a33+$b33;
//Subtract
@$a10 = $a11-$b11;
@$a11 = $a12-$b12;
@$a12 = $a13-$b13;
@$a13 = $a21-$b21;
@$a14 = $a22-$b22;
@$a15 = $a23-$b23;
@$a16 = $a31-$b31;
@$a17 = $a32-$b32;
@$a18 = $a33-$b33;
//AB
@$row11 = ($a11$b11)+($a12*$b21)+($a13*$b31);
@$row12 = ($a11*$b12)+($a12*$b22)+($a13*$b32);
@$row13 = ($a11*$b13)+($a12*$b23)+($a13*$b33);
@$row21 = ($a21*$b11)+($a22*$b21)+($a23*$b31);
@$row22 = ($a21*$b12)+($a22*$b21)+($a23*$b31);
@$row23 = ($a21*$b13)+($a22*$b23)+($a23*$b33);
@$row31 = ($a31*$b11)+($a32*$b21)+($a33*$b31);
@$row32 = ($a31*$b12)+($a32*$b22)+($a33*$b32);
@$row33 = ($a31*$b13)+($a32*$b23)+($a33*$b33);
if ($operation == ‘Determenant Of A’){
echo "The Determenent of A Matrix is ";
echo $determenant_a.’.’;
}
elseif ($operation == ‘Determenant Of B’){
echo "The Determenent of B Matrix is ";
echo $determenant_b.’.’;
}
elseif ($operation == ‘Add’){
echo 'The answer is: ‘;
echo ‘
’;
echo $a1.’ ‘.$a2.’ ‘.$a3;
echo ‘
’;
echo $a4.’ ‘.$a5.’ ‘.$a6;
echo ‘
’;
echo $a7.’ ‘.$a8.’ '.$a9;
}
elseif ($operation == ‘Subtract’){
echo 'The answer is: ‘;
echo ‘
’;
echo $a10.’ ‘.$a11.’ ‘.$a12;
echo ‘
’;
echo $a13.’ ‘.$a14.’ ‘.$a15;
echo ‘
’;
echo $a16.’ ‘.$a17.’ '.$a18;
}
elseif ($operation == ‘AxB’){
echo 'The answer is: ‘;
echo ‘
’;
echo $row11.’ ‘.$row12.’ ‘.$row13;
echo “
”;
echo $row21.’ ‘.$row22.’ ‘.$row23;
echo “
”;
echo $row31.’ ‘.$row32.’ '.$row33;
}
?>
[/php]
Its all working well ,except for the multiplication part(A*B).
The first 3 numbers are coming as “0 0 0”
Consider an example
Matrix A
3 1 2
4 3 1
2 5 4
Matrix B
3 1 2
4 3 1
2 5 4
The answer is :
17 16 15
26 18 15
34 37 25
But what is displayed when i run the above code is:
0 0 0
26 18 15
34 37 25
I don’t know what i am doing wrong.
Pls Help