Matrix - Mathematik

Zur Vorstellung von Komponenten und Units für Lazarus
Antworten
mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Matrix - Mathematik

Beitrag von mschnell »

Im Rahmen eines Praktikums entsteht bei uns eine oder mehrere Mathematik-Units.

Ziel ist das nichtlineare Kurven-Fitting (= Nichtlineare Ausgleichsrechnung = Nonlinear Approximation = Berechnung von n linearen und m nichtlinearen Parametern einer Kuve, die an l Punkte angepasst werden soll, n+m > l) durch Interation (Zweischritt-Verfahren).

Hierbei entstehen natürlich auch die Verfahren auf denen das basiert:
lineares Kurven-Fitting (= lineare Ausgleichsrechnung = linear Approximation) und
Iterative Suche eines lokalen Minimums einer Kurve

Das lineare Kurven-Fitting (Berechnung der n linearen Koeffizienten einer Funktion, die an l Punkte angepasst werden soll, l>n) basiert wiederum auf der Berechnung der n linearen Koeffizienten einer Funktion, die durch n Punkte geht. Und das basiert schließlich auf der Lösung eines linearen Gleichungssystems.

Das funktioniert alles schon ganz gut.

Die Sache mit dem linearen Gleichungssystem haben wir zusammen mit einigen Suport-Funktionen in eine "Matrix" Unit gepackt, die jetzt in einem veröffentlichungs-fähigen Zustand ist.

Wir hatten im Internet nach Delphi-Funktionen zur Lösung eines Linearen Gleichungssystems gesucht und zwei gefunden, die beide ineffektiv und buggy waren. Deshalb haben wir es neu programmiert. Scheint mir so weit funktionsfähig, stabil und performant zu sein (zumindest invertiert es es in wenigen Sekunden eine 1000*1000 Matrix mit Random-werten und einer Genauigkeit von (meisten) 10^-19).

Hat jemand Interesse, das zu testen (und/oder zu benutzen) ?

-Michael
Dateianhänge
Matrix.pas
Matrix-Mathematik (u.a. lineare Gleichungssysteme lösen)

-Michael Schnell
(8.26 KiB) 93-mal heruntergeladen

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Danke, habe mir sie runtergeladen. Werde mir das mal angucken, wir ihr das gemacht habt.

Antworten