数值分析(php兑现)二:线性方程组的两个解法
数值分析(php实现)二:线性方程组的两个解法
其实这个程序是早就写好的,只不过一直没有时间写上来.
这两个程序都是通过迭代的方法得到线性方程组的解的方法,一个是高斯-塞德尔迭代法,一个是雅可比迭代法
<?phpclass Gs{ private $matrix; public function __construct($array){ $this->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;$i<$matN;$i++){//xi $sum1 = 0; $sum2 = 0; for($j = 0;$j < $matN;$j++){ if($j < $i) $sum1 += ($this->matrix[$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)"."<br>"; 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();?>
接下来的是雅可比方法,
<?phpclass Yacobi{ private $matrix; public function __construct($array){ $this->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;$n<$cishu;$n++){ for($i = 0;$i<$matN;$i++){//xi $sum = 0; for($j = 0;$j < $matN;$j++){ if($j != $i) $sum += ($this->matrix[$i][$j] * $preX[$j]); } $nowX[$i] = ($this->matrix[$i][$matN] - $sum)/$this->matrix[$i][$i]; } $preX = $nowX; $str = implode(",",$nowX); echo ($n+1).":($str)"."<br>"; } }}$a = array( array(5,2,1,-12), array(-1,4,2,20), array(12,-3,10,3));$x = new Yacobi($a);$x->solve();?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









タイトル: Array.Sort 関数を使用して C# で配列を並べ替える例 本文: C# では、配列は一般的に使用されるデータ構造であり、多くの場合、配列を並べ替える必要があります。 C# には Array クラスが用意されており、このクラスには配列を簡単に並べ替えるための Sort メソッドがあります。この記事では、C# で Array.Sort 関数を使用して配列を並べ替える方法を示し、具体的なコード例を示します。まず、Array.Sort 関数の基本的な使用法を理解する必要があります。 Array.So

PHP でプログラミングする場合、多くの場合、配列をマージする必要があります。 PHP には、配列のマージを完了するための array_merge() 関数が用意されていますが、配列内に同じキーが存在する場合、この関数は元の値を上書きします。この問題を解決するために、PHP は配列をマージして同じキーの値を保持できる array_merge_recursive() 関数を言語で提供し、プログラム設計をより柔軟にします。配列マージ

PHP には、配列操作をより便利かつ高速にする強力な配列関数が多数あります。 2 つの配列を結合して連想配列にする必要がある場合、PHP の array_combine 関数を使用してこの操作を実行できます。この関数は、実際には、ある配列のキーを別の配列の値として新しい連想配列に結合するために使用されます。次に、PHP の array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法を説明します。 array_comb について学ぶ

この記事は、vue ソース コードを解釈するのに役立ち、これを使用して Vue2 のさまざまなオプションのプロパティにアクセスできる理由を紹介します。

同僚は、これによって指摘されたバグのために立ち往生しました。Vue2 のこの指摘の問題により、アロー関数が使用され、その結果、対応する props を取得できなくなりました。私がそれを彼に紹介したとき、彼はそれを知りませんでした。その後、私はわざとフロントエンド コミュニケーション グループに目を向けました。これまでのところ、フロントエンド プログラマーの少なくとも 70% はまだそれを理解していません。今日私はそれを共有しますyou this link. もしすべてが間違っている場合 まだ学習していない場合は、大きな口を与えてください。

PHP プログラミングにおいて、配列は大量のデータを簡単に処理できる非常に重要なデータ構造です。 PHP は配列関連の関数を多数提供しており、array_fill() はその 1 つです。この記事では、array_fill() 関数の使い方と実際の応用におけるヒントを詳しく紹介します。 1. array_fill() 関数の概要 array_fill() 関数の機能は、同じ値で構成される指定された長さの配列を作成することです。具体的には、この関数の構文は次のとおりです。

Java は、さまざまな開発分野で広く使用されている非常に強力なプログラミング言語です。ただし、Java プログラミング中に、開発者は ArrayIndexOutOfBoundsException 例外に遭遇することがよくあります。では、この異常の一般的な原因は何でしょうか? ArrayIndexOutOfBoundsException は、Java の一般的なランタイム例外です。これは、データにアクセスするときに、配列の添字が配列の範囲を超えていることを意味します。一般的な理由には次のようなものがあります。

PHP プログラミングでは、配列は頻繁に使用されるデータ型です。 array_change_key_case() 関数など、多数の配列操作関数もあります。この関数は、配列内のキー名の大文字と小文字を変換して、データ処理を容易にすることができます。この記事では、PHP での array_change_key_case() 関数の使用方法を紹介します。 1. 関数の構文とパラメータ array_change_ke
