Heim Backend-Entwicklung PHP-Tutorial 数值分析(php兑现)二:线性方程组的两个解法

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

Jun 13, 2016 pm 01:15 PM
array this

数值分析(php实现)二:线性方程组的两个解法
其实这个程序是早就写好的,只不过一直没有时间写上来.
这两个程序都是通过迭代的方法得到线性方程组的解的方法,一个是高斯-塞德尔迭代法,一个是雅可比迭代法

<?php
class 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();
?>
Nach dem Login kopieren

接下来的是雅可比方法,
<?php
class 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();
?>
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Array mit der Array.Sort-Funktion in C# sortieren Array mit der Array.Sort-Funktion in C# sortieren Nov 18, 2023 am 10:37 AM

Titel: Beispiel für die Verwendung der Array.Sort-Funktion zum Sortieren eines Arrays in C#. Text: In C# ist Array eine häufig verwendete Datenstruktur, und häufig sind Array-Sortiervorgänge erforderlich. C# stellt die Array-Klasse bereit, die über die Sort-Methode verfügt, um Arrays bequem zu sortieren. In diesem Artikel wird gezeigt, wie Sie ein Array mithilfe der Array.Sort-Funktion in C# sortieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die grundlegende Verwendung der Array.Sort-Funktion verstehen. Array.So

So verwenden Sie die Funktion array_combine in PHP, um zwei Arrays zu einem assoziativen Array zu kombinieren So verwenden Sie die Funktion array_combine in PHP, um zwei Arrays zu einem assoziativen Array zu kombinieren Jun 26, 2023 pm 01:41 PM

In PHP gibt es viele leistungsstarke Array-Funktionen, die Array-Operationen komfortabler und schneller machen können. Wenn wir zwei Arrays zu einem assoziativen Array kombinieren müssen, können wir diese Operation mit der Funktion array_combine von PHP ausführen. Diese Funktion wird tatsächlich verwendet, um die Schlüssel eines Arrays als Werte eines anderen Arrays zu einem neuen assoziativen Array zu kombinieren. Als nächstes erklären wir, wie man die Funktion array_combine in PHP verwendet, um zwei Arrays zu einem assoziativen Array zu kombinieren. Erfahren Sie mehr über array_comb

Einfache und klare Methode zur Verwendung der PHP-Funktion array_merge_recursive() Einfache und klare Methode zur Verwendung der PHP-Funktion array_merge_recursive() Jun 27, 2023 pm 01:48 PM

Beim Programmieren in PHP müssen wir häufig Arrays zusammenführen. PHP stellt die Funktion array_merge() bereit, um die Array-Zusammenführung abzuschließen. Wenn jedoch derselbe Schlüssel im Array vorhanden ist, überschreibt diese Funktion den ursprünglichen Wert. Um dieses Problem zu lösen, stellt PHP in der Sprache auch eine Funktion array_merge_recursive() bereit, die Arrays zusammenführen und die Werte derselben Schlüssel beibehalten kann, wodurch das Programmdesign flexibler wird. array_merge

Ein Artikel, der diesen Punkt versteht und 70 % der Front-End-Leute erreicht Ein Artikel, der diesen Punkt versteht und 70 % der Front-End-Leute erreicht Sep 06, 2022 pm 05:03 PM

Ein Kollege blieb aufgrund eines Fehlers stecken, auf den dadurch hingewiesen wurde. Dieses Zeigeproblem führte dazu, dass eine Pfeilfunktion verwendet wurde, was dazu führte, dass die entsprechenden Requisiten nicht abgerufen werden konnten. Er wusste es nicht, als ich es ihm vorstellte, und dann habe ich mir bewusst die Front-End-Kommunikationsgruppe angesehen. Bisher verstehen es mindestens 70 % der Front-End-Programmierer nicht Sie diesen Link Wenn alles unklar ist Wenn Sie es noch nicht gelernt haben, geben Sie mir bitte eine große Klappe.

Lassen Sie uns darüber sprechen, warum Vue2 dadurch in verschiedenen Optionen auf Eigenschaften zugreifen kann Lassen Sie uns darüber sprechen, warum Vue2 dadurch in verschiedenen Optionen auf Eigenschaften zugreifen kann Dec 08, 2022 pm 08:22 PM

Dieser Artikel hilft Ihnen bei der Interpretation des Vue-Quellcodes und stellt vor, warum Sie damit in Vue2 auf Eigenschaften in verschiedenen Optionen zugreifen können. Ich hoffe, dass er für alle hilfreich ist!

Detaillierte Erläuterung der Verwendung der PHP-Funktion array_fill() Detaillierte Erläuterung der Verwendung der PHP-Funktion array_fill() Jun 27, 2023 am 08:42 AM

In der PHP-Programmierung ist Array eine sehr wichtige Datenstruktur, die große Datenmengen problemlos verarbeiten kann. PHP bietet viele Array-bezogene Funktionen, array_fill() ist eine davon. In diesem Artikel wird die Verwendung der Funktion array_fill() ausführlich vorgestellt und einige Tipps für praktische Anwendungen gegeben. 1. Übersicht über die Funktion array_fill() Die Funktion der Funktion array_fill() besteht darin, ein Array mit demselben Wert und einer angegebenen Länge zu erstellen. Konkret lautet die Syntax dieser Funktion

Was sind die häufigsten Ursachen für ArrayIndexOutOfBoundsException in Java? Was sind die häufigsten Ursachen für ArrayIndexOutOfBoundsException in Java? Jun 24, 2023 pm 10:39 PM

Java ist eine sehr leistungsfähige Programmiersprache, die in verschiedenen Entwicklungsbereichen weit verbreitet ist. Bei der Java-Programmierung stoßen Entwickler jedoch häufig auf ArrayIndexOutOfBoundsException-Ausnahmen. Was sind also die häufigsten Ursachen dieser Anomalie? ArrayIndexOutOfBoundsException ist eine häufige Laufzeitausnahme in Java. Dies bedeutet, dass beim Zugriff auf Daten der Array-Index den Bereich des Arrays überschreitet. Häufige Gründe sind:

Einführung in die Verwendung der PHP-Funktion array_change_key_case() Einführung in die Verwendung der PHP-Funktion array_change_key_case() Jun 27, 2023 am 10:43 AM

In der PHP-Programmierung ist Array ein häufig verwendeter Datentyp. Es gibt auch eine ganze Reihe von Array-Operationsfunktionen, einschließlich der Funktion array_change_key_case(). Diese Funktion kann die Groß-/Kleinschreibung von Schlüsselnamen im Array umwandeln, um unsere Datenverarbeitung zu erleichtern. In diesem Artikel wird die Verwendung der Funktion array_change_key_case() in PHP vorgestellt. 1. Funktionssyntax und Parameter array_change_ke

See all articles