?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;
}
}
?>
