Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Gleichungssystem lösen
cux - Di 31.05.05 18:25
Titel: Gleichungssystem lösen
Kann Delphi irgendwie ein Gleichungssystem mit n Unbekannten und n Gleichungen lösen? Bitte um schnelle Antwort (ist für die Schule!).
cux
F34r0fTh3D4rk - Di 31.05.05 18:30
delphi kann (fast) alles lösen :lol:
ähm da bräuchtest du einen guten mathematischen formel parser für :)
Allesquarks - Di 31.05.05 18:38
Kannst dir ja selber den Gauß-Algorithmus schreiben. Der ist so einfach, da sollte es schwieriger sein die Eingabe richtig hinzubekommen. Was dann auch das größte Problem wäre.
Wenn du dich nicht auskennst, dann empfehle ich Dir eine total statische Eingabe so dass es dem Benutzer überlassen ist alles richtig einzutragen.
Wenn du beliebige ungeordnete Gleichungen eingibst musst du natürlich auch ne Funktion haben die dir die entsprechenden Teile raussucht
alzaimar - Di 31.05.05 18:40
Na, ich glaube, er meint das Gaussche Verfahren zur Lösung der Gleichungen, oder nicht?
Die gibt es zu Hauf im Netz. Schau doch mal. Es gibt da so eine magische Seite, guggel mal.
Malo05 - Di 31.05.05 19:33
alzaimar hat folgendes geschrieben: |
Na, ich glaube, er meint das Gaussche Verfahren zur Lösung der Gleichungen, oder nicht?
Die gibt es zu Hauf im Netz. Schau doch mal. Es gibt da so eine magische Seite, guggel mal. |
z.B. in der DelphiPraxis-Codelib. Genauer gesagt
hier [
http://www.delphipraxis.net/topic282,0,asc,0.html] ;)
alzaimar - Di 31.05.05 19:38
Genau. Bleibt noch anzumerken, das bei grossen Systemen (N>20) das Verfahren u.U. nicht genau genug ist. Es gibt deshalb andere Möglichkeiten, die ähnlich arbeiten, aber genauer sind (z.B. mit "LUP-Dekomposition").
Allerdings kann es sein, das die 'Ungenauigkeiten' bei Extended-Variablen nicht mehr auftreten.
delfiphan - Mi 01.06.05 00:01
LUP hört sich für mich an wie Gauss ;)
Direkt kann es Delphi nicht, aber du kannst es programmieren bzw. im Google mal danach suchen: Es gibt viele, viele Arten um lineare Gleichungssysteme zu lösen. Direkt mit Gauss bzw. LU(P), QR, SVD (auch für über und unterbestimmte Systeme), oder für höhere Genauigkeit gibt es viele iterative Methoden: Jacobi, Gauss-Seidel, SOR, Krylov Space Solvers wie Konjugierte Gradienten, BiCGSTAB, GMRES. (Eine Präkonditionierung der Matrix (mit Incomplete LU) ist auch von Vorteil, bevor du eines der iterativen Methoden drauflos lässt).
Frage: Wie gross ist n, und ist die Matrix dünnbesetzt (evtl. tridiagonal)? Oder willst du nur ein 3x3 System lösen? Für kleine Systeme machst du es am einfachsten mit dem Gaussschen Eliminationsverfahren, wie die anderen auch schon erwähnt haben.
Spaceguide - Mi 01.06.05 09:24
Wer sagt denn, dass er ein lineares Gleichungssystem lösen will?
cux - Mi 01.06.05 13:23
Ich habe eigentlich gehofft, dass es eine funktion in delphi gibt, in die ich lieneare gleichungen eingebe und die mir dann ein ergebnis für alle unbekannte ausspukt!
wenn nicht schlagt mir mal ein einfachen algorythmus vor mit dem ich das lösen kann!
delfiphan - Mi 01.06.05 13:38
Ich habe dir unzählige aufgezählt und jemand hat oben sogar einen Link gepostet.
cux - Mi 01.06.05 15:11
n könnte zwar über 20 werden aber ich nehme jetzt trotzdem gauß! danke! cux
alzaimar - Mi 01.06.05 16:57
@cux: Es gibt keine algorythmen. Samba Rythmen: ja, Algo Rythmen: nein.
raziel - Mi 01.06.05 17:06
alzaimar hat folgendes geschrieben: |
@cux: Es gibt keine algorythmen. Samba Rythmen: ja, Algo Rythmen: nein. |
Nett, dass du ihn darauf hinweist, aber es gibt leider auch keine Samba Rythmen... Höchstens Samba-R
hythmen.
alzaimar - Mi 01.06.05 17:09
Das sagst Du :oops: Die Menschheit ist da geteilter Meinung: Google mal nach "Rythmus" (70000 Einträge :D)
Nee, is schon klar, aber schau mal auf mein Alter. Dann wird Dir einiges klar, oder?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!