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 zeilenweise Multiplikation mit Vektor

 

derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 26.01.2009, 14:06     Titel: Matrix zeilenweise Multiplikation mit Vektor
  Antworten mit Zitat      
Hi Leute,

relativ einfache Sache, hab ich bestimmt auch schonmal gelöst aber stehe gerade auf dem Schlauch. Bitte nur Lösungen OHNE Schleifen.

Code:

m=ones(5,4);
k=[1;2;3;4;5];

% Jetzt will ich das jede Zeile der Matrix m mit dem Konstanten
% in der entsprechenden Zeile des Vektors k multipliziert wird.
% das geht natürlich nicht bzw. nur wenn die Matrix nur eine Zeile hat
m.*k;
 


Ist mir fast ein bisschen Peinlich diese Frage zu stellen, aber ich kriege es gerade einfach nicht hin. Glaube habe in letzter Zeit zu wenig mit Matlab gemacht. Nur dieses Forum hält mich noch einigermassen auf Trapp. Aber bald geht das Programmieren wieder los und dann stolper ich hoffentlich nicht mehr über solche Sachen.

Vielen Dank für eure Hilfe,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 26.01.2009, 16:42     Titel:
  Antworten mit Zitat      
Hallo Oli,
bist du sicher, dass du Matrix-Dimensionen bei Multiplikation richtig setzt?
A(n,m)*B(m,k)=C(n,k)

Code:

% umdrehen der Dimension.
m = ones(4,5);
k  = [1;2;3;4;5];
res=m*k
% bei elementenweise Multiplikation müssen Matrizen gleich groß sein
% m.*k
 


Zuletzt bearbeitet von denny am 26.01.2009, 16:44, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 26.01.2009, 16:42     Titel:
  Antworten mit Zitat      
Hi Oli,

Du musst k erst zur Matrix aufblasen:

Code:
% entweder so
K = k*ones(1,4)

% oder so
K = repmat(k,1,4)

% dann:
K.*m


Viel Spaß beim "Wieder-mehr-programmieren"!

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
derOli
Themenstarter

Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 26.01.2009, 18:00     Titel:
  Antworten mit Zitat      
Jo genau das meinte ich Embarassed,

Vielen Dank an die Pros.

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
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.