WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Multiplikation von Matrizen

 

retsam
Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2013, 11:22     Titel: Multiplikation von Matrizen
  Antworten mit Zitat      
Hallo Zusammen,
ich versuche einen Filter zu implementieren um Werte aus einer Messreihe zu Filtern.
Der Filter scheint auch zu funktionieren. Leider bekomme ich die Multiplikation der Matrix 1 mit dem Filter nicht hin.
Wenn ich beide Matrizen (Filter, Matrix1) Zeilenweise miteinander Multipliziere, dann kann ich das Ergebnis leider nicht Plotten..
Wenn ich beide Matrizen direkt miteinander Multipliziere (ohne vorheriges Transponieren), dann kann ich es Plotten und erhalte eine Matrix in der jede Zeile mit jeder Spalte multipliziert ist. (Das ist aber nicht gewollt), Siehe Bild).

Kennt jemand das Phänomen?


Greetz Ret

Welligkeit.jpg
 Beschreibung:
Ergebnis der Multiplikation von Matrix1 mit Filter

Download
 Dateiname:  Welligkeit.jpg
 Dateigröße:  103.08 KB
 Heruntergeladen:  548 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.11.2013, 12:08     Titel:
  Antworten mit Zitat      
Hallo,

ich zumindest weiß jetzt nur, was du nicht möchtest. Aber was möchtest du denn?

Wenn du z.B. filter verwendest, musst du doch selbst gar nichts mehr multiplizieren?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
retsam
Themenstarter

Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2013, 15:23     Titel:
  Antworten mit Zitat      
Hallo,
doch ich möchte selber Multiplizieren, da ich da ich den Filter selber geschrieben habe.
Angenommen ich habe:
Code:

Matrix A = [1,0,1,0,1]
Matrix B =
[
1,
2,
0,
3,
1
]
 

Dann erhalte ich bei der Multiplikation der beiden Matrizen eine Matrix mit [5,5] Zeilen/Spalten. Dann erhalte ich aus dieser Matrix C [5,5] das im ersten Beitrag befindliche Bild.

Ich möchte jedoch, dass die Zeile 1 der Matrix A mit Zeile 1 der Matrix B Multiplizieren, dies mache ich derzeit mit einer Schleife.

Anbei der Code:
Code:

Filter = Filter';% transponieren der Matrix (Filter)
for i = (1:m) % Multiplikation jeder Zeile der Matrix A mit Filter
    x = MatrixA(i);
    y = Filter(i);
    Data_Erg(i) = (y*x);% Schreibe die Ergebnisse in Matrix Data_Erg
end

Ergebnis = Data_Erg'; % Transponiere
hold on;
plot (Data_Erg);
 

Ich hoffe das Ihr mir helfen könnt, entschuldigt bitte den doch etwas konfusen ersten Beitrag.

Greetz Ret

Filter_Darstellung_Eins.jpg
 Beschreibung:
Filter Darstellung bei Laden einer Messreihe

Download
 Dateiname:  Filter_Darstellung_Eins.jpg
 Dateigröße:  14.05 KB
 Heruntergeladen:  525 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.11.2013, 17:12     Titel:
  Antworten mit Zitat      
Hallo,

Code:

?

ggf. eine der beteiligten Variablen vorher transponieren.

Insbesondere falls dies nicht das ist, was du möchtest: welches Ergebnis soll denn in dem Beispiel herauskommen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
retsam
Themenstarter

Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2013, 10:12     Titel:
  Antworten mit Zitat      
Guten Morgen,
herausbekommen möchte ich den im ersten Beitrag dargestellten Plot jedoch nur mit einer Linie. Da wie schon beschrieben Matrix A mit Matrix B multipliziert wird, er aber Spalten / Zeilen miteinander Multipliziert erhalte ich am Ende eine Matrix C = M(A)*M(B).
Bei 900 Spalten Plottet er (wie im Graph zu erkennen) nicht nur eine sondern alle entstehenden Graphen.

Herzlichen Dank

Greetz Ret
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.11.2013, 10:19     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
herausbekommen möchte ich den im ersten Beitrag dargestellten Plot jedoch nur mit einer Linie.

Und wie sollen die Punkte dieser Linie nacheinander angeordnet sein?

Ich kenne leider deine Daten nicht, daher habe ich keine Ahnung, wie sich die Zahlen dieser Linie aus deinen Daten ergeben sollen.

Was du beschreibst, scheint die angesprochene komponentenweise Multiplikation zu sein. Falls es das nicht ist, gib doch bitte die Daten an, die du als Ergebnis der Operation auf den Daten im Beitrag von 13.11.13, 14:23 erwarten würdest.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
retsam
Themenstarter

Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2013, 12:13     Titel:
  Antworten mit Zitat      
Guten Morgen,
ich verstehe es nicht ganz. Ich möchte das eine Spalte mit einer anderen multipliziert wird (C=(A*B)) und das Ergebnis als Graph dargestellt werden kann. Jedoch habe ich das Problem, dass bei einem Graphen (Spalte C) der Plot wie im Beitrag von gestern aussieht. Während dessen bei einer Fehlerhaften Multiplikation der Matrizen der Plot wie im ersten Beitrag ausschaut.

Greetz Ret
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.11.2013, 12:43     Titel:
  Antworten mit Zitat      
Hallo,

ich kann dir leider nicht bei der Problemlösung helfen, wenn ich nicht verstehe, was du erreichen willst.

Bitte beschreibe:
- wie sollen die Spalten miteinander multipliziert werden?
- wie sollen die Ergebnisse dieser Multiplikationen angeordnet werden?

Es kann einfacher sein, wenn du schreibst, welche Matrix du aus Matrix_A und Matrix_B (14.11., 14:23) erhalten möchtest. Bitte wirklich die komplette Matrix hinschreiben.

Wie soll diese Matrix nun visualisiert werden?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
retsam
Themenstarter

Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2013, 13:32     Titel:
  Antworten mit Zitat      
Hallo Harald,
Zitat:
- wie sollen die Spalten miteinander multipliziert werden?

Matrizen sollten:
Matrix A, Spalte 1, Zeile 1
mit
Matrix B, Spalte 1, Zeile 1
...
Matrix A, Spalte 1, Zeile n
mit
Matrix B, Spalte 1, Zeile n
Multipliziert werden.

Zitat:
wie sollen die Ergebnisse dieser Multiplikationen angeordnet werden?

Die Ergebnisse der Multiplikation sollen auch in einer Spalte angeordnet sein.
Ergebnis: Matrix C, Spalte 1, Zeile 1:n

Ich hätte gern als Ergebnis einen Graphen der den Wert in der Zeile n über die (x-Achse) Plottet.

Ich danke dir und hoffe das du mich nun verstehst.

Herlzichen Dank

Greetz Ret
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.11.2013, 14:46     Titel:
  Antworten mit Zitat      
Hallo,

leider fehlt mit dem ... die entscheidende Information. Soll zuerst durch die Zeilen von A gegangen werden, oder durch die Zeilen von B, oder beides gleichzeitig?

Also, inzwischen der dritte Versuch: welches Ergebnis erwartest du bei:

Code:
Matrix A = [1,0,1,0,1]
Matrix B =
[
1,
2,
0,
3,
1
]


C = [..., ...,
..., ...
..., ...
]

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
retsam
Themenstarter

Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2013, 14:50     Titel:
  Antworten mit Zitat      
Hallo,
entschuldige da stehe ich wohl def. auf dem Schlauf.
Also ich erwarte:

Code:

Matrix A = [1,0,1,0,1]
Matrix B =
[
1,
2,
0,
3,
1
]
Matrix C =
[1
0
0
0
1
]
 

Ich hoffe das ich nun das erklären konnte was ich wollte, so dass du mich verstehst.

Greetz und danke Ret
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.11.2013, 14:55     Titel:
  Antworten mit Zitat      
Hallo,

das ist doch genau das, was der Vorschlag von 14.11., 16:12 macht?

Code:
C = A' .* B


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
retsam
Themenstarter

Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2013, 15:06     Titel:
  Antworten mit Zitat      
Hallo,
leider haben ich dich dann anscheinend nicht richtig verstanden.
Jedoch stelle ich fest, dass mit dem Code anscheinend dann etwas nicht stimmt, wenn ich nach der Multiplikation beider Matrizen
den Plot vom Post vom 13.11. um 14:23 erhalte.


Herzlichen Dank

Greetz
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.11.2013, 15:26     Titel:
  Antworten mit Zitat      
Hallo,

liegt das Problem bei den Zahlen oder bei deren Visualisierung?

Falls ersteres: bitte ein Beispiel zur Verfügung stellen, in dem das erhaltene Resultat vom erwarteten abweicht, und vor allem auch beschreiben, wo die Abweichungen liegen.

Falls letzteres: wie visualisierst du?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
retsam
Themenstarter

Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.11.2013, 11:32     Titel:
  Antworten mit Zitat      
Guten Morgen,
das Problem liegt anscheinend an der Visualisierung.
Ich visualisiere mittels:
Code:

Plot(Filter_Matrix);
 


Die Filtermatrix beinhaltet dabei alle miteinander multiplizierten Werte.

Greetz Ret
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.