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

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

其实这个程序是早就写好的,只不过一直没有时间写上来.

这两个程序都是通过迭代的方法得到线性方程组的解的方法,一个是高斯-塞德尔迭代法,一个是雅可比迭代法

matrix = $array;

}

public function solve(){

$preX = array();

$nowX = array();

$cishu = 17;

$delta = 0.0001;

$matN = count($this->matrix);

for($i = 0;$imatrix[$i][$j] * $nowX[$j]);

if($j > $i) $sum2 += ($this->matrix[$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 < $delta) break;

}

}

}

$a = array(

array(5,2,1,-12),

array(-1,4,2,20),

array(12,-3,10,3)

);

$x = new Gs($a);

$x->solve();

?>

接下来的是雅可比方法,

matrix = $array;

}

public function solve(){

$preX = array();

$nowX = array();

$cishu = 17;

$matN = count($this->matrix);

for($i = 0;$imatrix[$i][$j] * $preX[$j]);

}

$nowX[$i] = ($this->matrix[$i][$matN] - $sum)/$this->matrix[$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();

?>

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值