INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Wiener bzw. Pseudoinverse



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.01.2013, 17:57
Beitrag #1

Arachnoid Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Nov 2009

12
-
DE

37073
Deutschland
Wiener bzw. Pseudoinverse
Hallo zusammen,
bei der Realisierung der sogenannten Wiener-Inversen in LabView (z.B. http://spectronet.de/portals/visqua/stor...aachen.pdf auf S. 14) bin ich auf ein Problem gestossen.

Prinzipiell bin ich stückweise vorgegangen und habe vorerst die Pseudoinverse realisiert, einmal über die Pseudoinverse wie sie von LabView berechnet wird (über die Singulärwertzerlegung) und zum andern über einfache Operationen der linearen Algebra.

Im angehängten .VI habe ich beide Möglichkeiten realisiert. Prinzipiell müssten beide ein identisches Ergebnis liefern, dies ist jedoch nur dann der Fall wenn der Wert 1E+30 in der Eingangsmatrix durch einen erheblich kleineren Wert ersetzt wird.

Mein Problem ist nun, dass ich zur Realisierung der Wiener-Inversen auf die Variante über einfache Operationen der linearen Algebra angewiesen bin, diese jedoch für konkrete Werte teilweise falsche Ergebnisse zu liefern scheint.

Hat jemand die Wiener-Inverse ggf. schoneinmal versucht in LabView zu realisieren? Bzw. kann jemand bezüglich des Problems oben weiterhelfen?

Viele Grüße,
Arachnoid


Angehängte Datei(en)
12.0 .vi  Test-Wiener.vi (Größe: 13,6 KB / Downloads: 142)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.01.2013, 21:14
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Wiener bzw. Pseudoinverse

Akzeptierte Lösung

Numerisch gesehen ist dein Zahlen-Beispiel sehr "ungeschickt", denn es enthält eine sehr große (1e+30) und kleine Zahlen (1e-4).
Da tut sich Gleitkomma-Rechnung grundsätzlich schwer und man muss schon sehr genau hinschauen, ob da noch das Richtige rauskommt.

Ein weiterer Fehler ist, dass du bei bei der LabVIEW-Pseudo-Inversen die Standard-Toleranz nicht geändert hast, vgl. Hilfe:

Code:
tolerance: defines a level such that the number of singular values greater than this level is the rank of Input Matrix. The default is –1. If tolerance is negative, the internal tolerance used to determine rank is set as shown in the following equation.
tolerance = max(m,n)*||A||*epsilon,

where A represents the Input Matrix, m represents the number of rows in A, n represents the number of columns in A, ||A|| is the 2-norm of A, epsilon is the smallest, floating point number that can be represented by type double, as shown in the following relationship.
epsilon = 2^–52 = 2.22e–16
Bei deinem Zahlenbeispiel ergibt sich eine erlaubte Toleranz von ca. 2,6e+15. Kein Wunder, dass da etwas anderes herauskommt als bei einer anderen Berechnung. Schließe bei Tolerance einmal einen kleinen positiven Wert an, und du erhältst dasselbe Ergebnis.

Wie aber schon eingangs gesagt, das Ergebnis ist mit Vorsicht zu genießen. Der Test A-inv x A geht z.B. bei deinem Zahlenbeispiel nicht auf.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.01.2013, 11:59
Beitrag #3

Arachnoid Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Nov 2009

12
-
DE

37073
Deutschland
RE: Wiener bzw. Pseudoinverse
Hallo Jens,
vielen Dank für deine Hilfe, die Standardtoleranz hatte ich ehrlich gesagt übersehen!

Beste Grüße,
Arachnoid
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: