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

Matrix-Vektor Multiplikation blockweise?

 

Anne2012

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2018, 13:39     Titel: Matrix-Vektor Multiplikation blockweise?
  Antworten mit Zitat      
Hallo zusammen,

ich würde gerne eine Matrix mit einem Vektor multiplizieren, dessen Länge ein Vielfaches der Anzahl an Spalten der Matrix ist. Die Multiplikation soll dann Komponentenweise durchgeführt werden und das Ergebnis wieder ein Vektor der Länge Vielfaches mal Spalten der Matrix sein.

Zum besseren Verständnis ein Beispiel:
Die Matrix hat die Größe 2 x 5 und der Vektor 15 x 1, dann soll die Matrix-Vektormultiplikation auf die drei 5er Blöcke des Vektors getrennt durchgeführt werden und dann das Ergebnis wieder in einem Vektoer stehen, der dann in diesem Beispiel die Größe 6x1 hätte.

Gibt es dafür eine Funktion oder eine Art und Weise das ohne For-Schleifen zu lösen?

Liebe Grüße,
Anne


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.06.2018, 15:47     Titel: Re: Matrix-Vektor Multiplikation blockweise?
  Antworten mit Zitat      
Hallo Anne2012,

Du möchtest eine [2 x 5] Matrix mit einem [15 x 1] Vector multiplizieren, und diesen als 3 Abschnitte a [5 x 1] auffassen?
Dann wäre das eine ganz noemale Multiplikation der Matrix mit einer [5 x 3] Matrix. Das geht sehr einfach mit einer FOR-Schleife - hast Du es mal versucht? Aber noch einfacher mit einer Matrix-Multiplikation:
Code:
A = rand(2, 5);
b = rand(15, 1);
Result = A * reshape(b, 5, 3)

Mit einem weiteren reshape bekommst Du auch einen 6x1 Vektor.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Anne2012

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2018, 16:00     Titel:
  Antworten mit Zitat      
Hallo Jan,

herzlichen Dank! Ein ganz klarer Fall davon, dass man manchmal den Wald vor lauter Bäumen nicht sieht... ja mit einer For-Schleife hatte ich das schon, aber ohne finde ich doch oft schöner...

Liebe Grüße,
Anne
 
Neues Thema eröffnen Neue Antwort erstellen



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 - 2024 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.