博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
菜鸟实现 PHP 二阶、三阶行列式计算和矩阵运算的加、减、乘
阅读量:5041 次
发布时间:2019-06-12

本文共 3376 字,大约阅读时间需要 11 分钟。

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 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/aslmuly/p/11148941.html

你可能感兴趣的文章
机器学习系列-tensorflow-01-急切执行API
查看>>
SqlServer 遍历修改字段长度
查看>>
Eclipse快捷键:同时显示两个一模一样的代码窗口
查看>>
《架构之美》阅读笔记05
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
查看>>
关于React中props与state的一知半解
查看>>
java中Hashtable和HashMap的区别(转)
查看>>
关闭数据库
查看>>
webStrom智能提示忽略首字母大小写问题
查看>>
层叠加的五条叠加法则(一)
查看>>
设计模式六大原则(5):迪米特法则
查看>>
对Feature的操作插入添加删除
查看>>
javascript String
查看>>
ecshop 系统信息在哪个页面
查看>>
【转】码云source tree 提交超过100m 为什么大文件推不上去
查看>>
Oracle数据库的增、删、改、查
查看>>
MySql执行分析
查看>>
git使用中的问题
查看>>
yaml文件 .yml
查看>>