您好,欢迎访问一九零五行业门户网

数值分析(php兑现)二:线性方程组的两个解法

数值分析(php实现)二:线性方程组的两个解法
其实这个程序是早就写好的,只不过一直没有时间写上来.
这两个程序都是通过迭代的方法得到线性方程组的解的方法,一个是高斯-塞德尔迭代法,一个是雅可比迭代法
matrix = $array; } public function solve(){ $prex = array(); $nowx = array(); $cishu = 17; $delta = 0.0001; $matn = count($this->matrix); for($i = 0;$i<$matn;$i++){ $prex[$i] = 1; } $min = 100000000; for($n = 0;$n<$cishu;$n++){ for($i = 0;$imatrix[$i][$j] * $prex[$j]); } $nowx[$i] = ($this->matrix[$i][$matn] - $sum1 - $sum2)/$this->matrix[$i][$i]; $tempmin = $nowx[$i] > $prex[$i] ? $nowx[$i]-$prex[$i]:$prex[$i]-$nowx[$i]; if($min > $tempmin) $min = $tempmin; } $prex = $nowx; $str = implode(,,$nowx); echo ($n+1).:($str).
; if($min solve();?>
接下来的是雅可比方法,
matrix = $array; } public function solve(){ $prex = array(); $nowx = array(); $cishu = 17; $matn = count($this->matrix); for($i = 0;$i<$matn;$i++){ $prex[$i] = 1; } for($n = 0;$nmatrix[$i][$i]; } $prex = $nowx; $str = implode(,,$nowx); echo ($n+1).:($str).
; } }}$a = array( array(5,2,1,-12), array(-1,4,2,20), array(12,-3,10,3));$x = new yacobi($a);$x->solve();?>
其它类似信息

推荐信息