1 "; 8 } 9 10 //二阶行列式计算 11 function erjie($array){ 12 13 $k=$array[0]*$array[3]-$array[1]*$array[2]; 14 echo $k; 15 echo ""; 16 } 17 18 19 //矩阵运算 加法 20 function juzhen_plus($array1,$b,$array2){ //b是列数 21 22 $n=count($array1); 23 $c=array(); 24 for ($i=0;$i<$n;$i++){ 25 26 $c[$i]=$array1[$i]+$array2[$i]; 27 28 } 29 echo "|"; 30 for ($i=0;$i<$n;$i++){ 31 $j=$i+1; 32 echo $c[$i]; 33 echo " "; 34 if($j%$b==0){ 35 echo "|"; 36 echo ""; 37 if ($i!=($n-1)) 38 echo "|"; 39 } 40 41 } 42 echo ""; 43 } 44 45 46 //矩阵运算 减法 47 function juzhen_sub($array1,$b,$array2){ 48 49 $n=count($array1); 50 $c=array(); 51 for ($m=0;$m<$n;$m++){ 52 53 $array2[$m]=0-$array2[$m]; 54 55 } 56 for ($i=0;$i<$n;$i++){ 57 58 $c[$i]=$array1[$i]+$array2[$i]; 59 60 } 61 echo "|"; 62 for ($i=0;$i<$n;$i++){ 63 $j=$i+1; 64 echo $c[$i]; 65 echo " "; 66 if($j%$b==0){ 67 echo "|"; 68 echo ""; 69 if ($i!=($n-1)) 70 echo "|"; 71 } 72 73 } 74 echo ""; 75 } 76 77 78 //矩阵运算 矩阵X矩阵 79 function juzhen_mult_ju($array1,$a,$b,$array2,$d,$e){ 80 $c=array(); 81 if ($b==$d){ 82 83 for ($i=0;$i<$a;$i++){ 84 for ($j=0;$j<$e;$j++){ 85 for ($s=0;$s<=$b;$s++){ 86 $c[$i][$j]=$c[$i][$j]+$array1[$i][$s]*$array2[$s][$j]; 87 } 88 } 89 } 90 91 echo "|"; 92 for ($h=0;$h<$a;$h++){ 93 for ($f=0;$f<$e;$f++){ 94 echo $c[$h][$f]; 95 echo " "; 96 if($f==($e-1)){ 97 echo "|"; 98 echo ""; 99 if ($h!=($a-1))100 echo "|";101 }102 103 }104 }105 106 }107 else{108 echo "这两个矩阵无法相乘!";109 }110 echo "";111 }112 113 114 115 //矩阵运算 常数X矩阵116 function juzhen_mult_shu($array1,$b,$d){117 118 $n=count($array1);119 $c=array();120 for ($i=0;$i<$n;$i++){121 122 $c[$i]=$array1[$i]*$d;123 124 }125 echo "|";126 for ($i=0;$i<$n;$i++){127 $j=$i+1;128 echo $c[$i];129 echo " ";130 if($j%$b==0){131 echo "|";132 echo "";133 if ($i!=($n-1))134 echo "|";135 }136 137 }138 139 echo "";140 }141 142 143 144 $array1=array(5,15,6,7);//用作二阶行列式145 $array2=array(5,15,6,7,2,1,5,6,7);//用作三阶行列式146 $array3=array(100,15,6,35,35,5);//用作3行2列147 $array4=array(5,5,6,7,50,5);//2行3列或作3行2列来用148 149 $array5=array 150 (151 array(10,1),152 array(6,3),153 array(5,7)154 );155 //$array6=array(5,5,6,7,5,5,8,6);156 $array6=array157 (158 array(5,5,6,7),159 array(8,9,2,6)160 );161 162 sanjie($array2);163 erjie($array1);164 juzhen_plus($array3,2,$array4);//加165 juzhen_sub($array3,2,$array4);//减166 juzhen_mult_ju($array5,3,2,$array6,2,4);//乘167 juzhen_mult_shu($array3,3,3);//乘
运算结果如下:
除法的话,放在下一篇。
上述代码纯属菜鸟练手之作。
在得知更好的方法之前不妨先用最笨的方法试试,加深印象。
哈哈,欢迎吐槽。
posted on 2019-07-08 00:12 阅读( ...) 评论( ...)