LabVIEWForum.de
Matrizenrechnung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Matrizenrechnung (/Thread-Matrizenrechnung)



Matrizenrechnung - oe-ms1 - 19.07.2013 11:01

Hallo.

Ziel ist es eingelesene Daten mit einer Matrix zu korregieren.

Ich bekommen 6 Kanäle einer Messreihe. Nun soll jeder der Vektoren mit einer konst. 6x6 Matrix multipliziert werden. Danach Habe ich wieder 6 Kanäle.

(Zur Info: Als Vektor bezeichne ich Die Werte der Kanäle zu einer bestimmten Zeit x transp( [K0,K1,...K5] )

Für normale plus-minus Rechnungen funktioniert das recht easy (Formel hin und fertig)
Aber mit einer Matrix krieg ich das nicht hin. Wie macht man sowas? Sollte doch ganz einfach sein ?

mfg matthias


RE: Matrizenrechnung - Trinitatis - 19.07.2013 11:07

Hallo,
du kannst doch Arrays einfach über die Grundfunktionen miteinander multiplizieren, oder habe ich die Aufgane falsch verstanden?Hmm


Gruß, Marko


RE: Matrizenrechnung - oe-ms1 - 19.07.2013 11:13

Wenn eine Array multiplkation einer Matrix multiplikation entspricht könnte es gehen. Da Stellt sich mir nur dir Frage wo ist der Unterschied zwischen Array multiplikation und matrixmultiplikation


RE: Matrizenrechnung - Trinitatis - 19.07.2013 11:15

ich kann dir sagen, dass bei der Arraymultiplikation jedes Element mit dem "selben" in dem anderen Array multipliziert wird


RE: Matrizenrechnung - oe-ms1 - 19.07.2013 11:28

Also nein, denn eine Matrizenmultiplikation ist nicht kommutativ. Ich will nicht mir Transponierten Arrays und schleifen arbeiten.

Das muss doch ganz einfach gehen. Das ist ja quasi eine Basisaufgabe

Aber danke für den Versuch


RE: Matrizenrechnung - GerdW - 19.07.2013 11:46

Hallo oe,

Zitat:Ich bekommen 6 Kanäle einer Messreihe. Nun soll jeder der Vektoren mit einer konst. 6x6 Matrix multipliziert werden. Danach Habe ich wieder 6 Kanäle.
In deinem Beispiel-VI erstellst du aber eine Matrix aus 8 Kanälen, die dann mit einer 6×6-Matrix multipliziert wird. Soll das so sein?
Beispieldaten in "Daten In" wären auch nicht schlecht gewesen...

Ich würde es eher so probieren:
[attachment=45488]


RE: Matrizenrechnung - oe-ms1 - 19.07.2013 11:56

Danke Gerd,

Freund Adlerauge hat mal wider zugeschlagen. Es stimmt es sollten natürlich 6 Kanäle beim Eingang und auch sechs Kanäle beim Ausgang sein. (Hab mich nur verkopiert)
------------------
Ich fürchte ich hab mal zu kompliziert gedacht und mir deine Variante zu Herzen genommen.

Meine Lösung [siehe Bild] sollte funktionieren. Hab es aber noch nicht getestet


RE: Matrizenrechnung - Kiesch - 22.07.2013 14:16

Es wundert mich trotzdem immer noch das du pro Kanal im ersten Beispiel ein Array (sic!) rauskriegst und im zweiten sogar ein 2D Array (sic!) mit der Matrix multiplizierst. Das geht zwar vermutlich gut (denn nen Vektor ist ja nix anderes als ne Matrix mit nur einer Spalte), allerdings könnte die Matrix "verkehrt herum" ausgerichtet sein (dann bricht die Multiplikation zwar nicht mit Fehlermeldung ab da du mit ner Quadratischen Matrix multiplizierts - also sowohl ne einspaltige Zeilen als auch ne einzeilige Spaltenmatrix damit verträglich ist. Das Rechenergebnis wird dann allerdings natürlich falsch).

Was kommt denn da pro Kanal raus? Hab mit dem Datentyp noch nicht gearbeitet, aber wenn da jeweils ein Wert pro Kanal rauskommt, dann lies die am besten da einfach aus (erstes Array Element) und bau dir dann deinen Vektor da draus).

So wie du es jetzt hast musst du mindestens noch prüfen ob du das Array noch transponieren musst das sich da ergibt.

Gruß Kiesch


RE: Matrizenrechnung - oe-ms1 - 22.07.2013 14:30

@Kiesch
Das liegt an dem tollen Element "von dynamischen Daten konvertieren"
Das Ding kann man einstellen. Ob man einen Kanal als Vektor, mehrer Kanäle als Matrix
(transponiert oder auch nicht) haben will, lässt sich konfigurieren.
Mit dieser Information und der Annahme, dass labview Matrizen richtig rechnet hat das funktioniert. Nach einer mit Testsinus beaufschlagten Virtuelle-Karte und anschließender Rechnung zufolge arbeite das Programm korrekt.

Vielen Dank für deine Sorge

Das tolle ist, durch die vorigen Posts hat sich mein Problem gelöst (siehe meinen letzen Post)


RE: Matrizenrechnung - GerdW - 22.07.2013 14:32

Hallo oe,

Zitat:Das Ding kann man einstellen. Ob man einen Kanal als Vektor, mehrer Kanäle als Matrix (transponiert oder auch nicht) haben will, lässt sich konfigurieren.
Klarstellung dazu: man kann zwar vorgeben, wie man die Daten nach der Konvertierung präsentiert haben will - aber ob die zu erzeugenden Daten vorher überhaupt im DDT enthalten waren, muss der Programmierer schon selbst wissen...