当前位置 : 主页 > 网络编程 > PHP >

计算一个行列式的值

来源:互联网 收集:自由互联 发布时间:2021-07-03
?phpclass Hanglieshi{ //行列式计算 public function jisuan($arr,$num){ $num--; for ($k=0; $k $num; $k++) { for ($i=$k; $i $num; $i++) { $temp=$arr[$i+1][$k]; $arr[$i+1][$k]=0; for ($j=$k+1; $j = $num; $j++) { if($arr[$k][$k]!=0){ $arr[$
 
<?php
class Hanglieshi{
    //行列式计算
    public function jisuan($arr,$num){
            $num--;
              
            for ($k=0; $k < $num; $k++) { 
                for ($i=$k; $i < $num; $i++) { 
                    $temp=$arr[$i+1][$k];
                    $arr[$i+1][$k]=0;
                    for ($j=$k+1; $j <= $num; $j++) { 
                        if($arr[$k][$k]!=0){
                            $arr[$i+1][$j]=$arr[$i+1][$j]-($temp/$arr[$k][$k])*$arr[$k][$j];
                        }else{
                            $arr[$k][$k]=0.00000000000001;  //误差精度控制
                            $arr[$i+1][$j]=$arr[$i+1][$j]-($temp/$arr[$k][$k])*$arr[$k][$j];
                        }
                    }
                }
            }
  
            //计算返回值
            $result=1.0;
            for ($n=0; $n <= $num; $n++) { 
                $result*=$arr[$n][$n];
            }
            return $result;
    }
}
?>

网友评论