LabVIEWForum.de - Überbestimmtes Gleichungssystem lösen?

LabVIEWForum.de

Normale Version: Überbestimmtes Gleichungssystem lösen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen!

Wie kann ich mit LabVIEW ein überbestimmtes Gleichungssystem lösen? Ich habe bis jetzt nur Funktionen gefunden, die ein normales lineares Gleichungsystem lösen.
Vielleicht habe ich da auch etwas übersehen, da ich gerade erst mit LabVIEW anfange?

Gruß
Joachim
' schrieb:Hallo zusammen!

Wie kann ich mit LabVIEW ein überbestimmtes Gleichungssystem lösen? Ich habe bis jetzt nur Funktionen gefunden, die ein normales lineares Gleichungsystem lösen.
Vielleicht habe ich da auch etwas übersehen, da ich gerade erst mit LabVIEW anfange?

Gruß
Joachim

Hi Joachim,

Deine Frage ist, so fürchte ich, nicht LabVIEW-spezifisch, sondern mathematischer Natur... Die erste Frage meinerseits ist: was verstehst Du unter der Lösung eines überbestimmten Gleichungssystems?

Sofern Dein Gleichungssystem überbestimmt ist, ist die Wahrscheinlichkeit groß, daß gar keine Lösung existiert (weil nicht gleichzeitig alle Gleichungen erfüllbar sind). Wenn mehrere Gleichungen linear abhängig sind, so ist natürlich die Frage, ob man dann noch von Überbestimmtheit sprechen kann. Einen guten ersten Eindruck bietet hier sicherlich (wie ja eigentlich immer) die Wikipedia (nicht zitieren!) - http://de.wikipedia.org/wiki/Lineares_Gleichungssystem. Dem entnimmst Du auch erste Hinweise auf die Lösbarkeit von Gleichungssystemen (Tip: Rang der Koeffizienten- und erweiterten Koeffizientenmatrix), als weitere Literatur sind natürlich Beutelspacher, Fischer und für Ingenieure der Papula (sehr hilfreich für solche Fälle!) zu nennen.

Nun gibt LabVIEW im Falle eines überbestimmten, unlösbaren linearen Gleichungssystems dennoch eine Lösung aus, diese wird mit einer Kleinst-Quadrat-Näherung bestimmt, so daß die Norm || Ax - b|| der Gleichung Ax = b minimiert wird. (Siehe Hilfe-Datei!)

Sobald Du genau spezifiziert hast, wie die Lösung Deines Problems aussehen soll (auf dem Papier, dieses darf natürlich auch elektronisch sein ^_^), kannst Du damit anfangen, die Lösung zu implementieren (Stichwort: Top-Down-Design). Vermutlich wird es in Deinem Fall darauf hinauslaufen, daß Du zunächst die Lösbarkeit der Gleichung überprüfst und anschliessend (if-else) die Lösung oder einen entsprechenden Hinweis ausgibst.

Hoffentlich konnte ich Dir ein wenig helfen, falls Du noch Fragen hast, einfach wieder melden Big Grin

Viele Grüße,
Oli
Danke für die ausfühliche Antwort!

Mein Gleichungssystem entsteht durch verschiedene Messwerte, die alle einen kleinen Messfehler aufweisen. Also gibt es, wie du richtig gesagt hast, eigentlich keine Lösung. Also wird das mit Hilfe der Kleinst-Quadrat-Näherung gelöst.

Die entsprechende Funktion in LabVIEW habe ich schon gefunden. Der Funktion "Solve Linear Equations" ist ja so ziemlich egal, was sie bekommt. ;-)
Hallo,

der thread ist zwar schon 2 Jahre alt, aber ich versuchs trotzdem: Wir kommen hier auch nicht klar mit der Funktion "Solve Linear Equations" und bekommen ein überbestimmtes Gleichungssystem nicht gelöst, das in Matlab sehr wohl gelöst werden kann (wir brauchens aber in LV). Interessant ist, daß die LV Lösung nicht kompletter Mist ist, sondern so ungefähr in die Nähe der Matlab-Lösung (und die ist richtig!) kommt. Auch die direkte Berechung mit x = (AT x A)^-1 x AT x b ergibt kein richtiges Ergebnis, bei Matlab schon. Mir kommts so vor, als ob einfach die Rechengenauigkeit von LV nicht reicht. Sollte aber die gleiche wie bei Matlab sein....Vlt. ists in LV nur suboptimal programmiert?

Der LV Support schwimmt bei dem Thema auch. Hat jemand einen Tip oder bessere Erfahrung mit Solve Linear Equations bei überbestimmten Gleichungssystemen? Kann man die Rechengenauigkeit irgenwie erhöhen? Bin kein LV Freak..

Gruß

Dieter
Referenz-URLs