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-Multiplikation mit Funktionen als Matrix-Elemente

 

redkiwi
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 22.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.02.2016, 13:09     Titel: Matrix-Multiplikation mit Funktionen als Matrix-Elemente
  Antworten mit Zitat      
Hallo MATLAB Community,

ich versuche mich gerade an der Matrix-Multiplikation (nachfolgen als MM abgekürzt), welche mit den natürlichen Zahlen wie gewünscht funktioniert:
Code:

clear all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Mit natürliche Zahlen als Matrixelemente (funktioniert
% wie von einer MM vorgesehen)

% Zeilenvektor A
A_11 = 1;
A_12 = 2;
A_21 = 3;
A_22 = 4;
% Spaltenvektor B
B_11 = 5;
B_21 = 6;

A = [A_11 A_12; A_21 A_22];
B = [B_11 ; B_21];

disp(A);
disp(B);

C=A*B;
disp(C);
 

Wenn ich das Ganze mit Funktionen als Matrizen-Elemente versuche, kommt die bekannte Fehlermeldung mit der "inner matrix dimension":
Code:

clear all;

x=0:pi/4:pi;

P_11 = sin(x);
P_12 = sin(x);
P_21 = sin(x);
P_22 = sin(x);

Q_11 = cos(x);
Q_21 = cos(x);

% Matrix P als Zeilenvektor
P = [P_11 P_12; P_21 P_22];
% Matrix Q als Spaltenvektor
Q = [Q_11 ; Q_21];

disp(P);
disp('----------------------');
disp(Q);
disp('----------------------');
R=P*Q;
 

Eine elementweise Multiplikation funtioniert verständlicherweise auch nicht.
Code:

Wie bringe ich der MM bei, das die Multiplikation der einzelnen Matrix-Elemente zwar elementenweise erfolgt aber es sich ansonsten um eine MM handelt:
Code:

clear all;

x=0:pi/4:pi;

P_11 = sin(x);
P_12 = sin(x);
P_21 = sin(x);
P_22 = sin(x);

Q_11 = cos(x);
Q_21 = cos(x);

% Matrix P als Zeilenvektor
P = [P_11 P_12; P_21 P_22];
% Matrix Q als Spaltenvektor
Q = [Q_11 ; Q_21];

disp(P);
disp('----------------------');
disp(Q);
% MM elementweise ausführen:
R_11 = (P_11.*Q_11)+(P_12.*Q_21);
R_21 = (P_21.*Q_11)+(P_22.*Q_21);

disp(R_11);
disp(R_21);

R=[R_11;R_21];
disp(R);
 

Ich könnte natürlich die Elemente der Ergebnis-Matrix wie im letzten code berechnen, da aber die eigentliche MM später mit größeren Matrizen erfolgen soll, wäre es aufwändiger. Kann die MM (R=P*Q) so angegeben werden, dass eine Einzelberechnung der Elemente nicht getrennt erfolgen muss? Ich bedanke mich schon mal im Voraus für Eure Hinweise.

MfG

redkiwi

matrix_mult.m
 Beschreibung:

Download
 Dateiname:  matrix_mult.m
 Dateigröße:  1.38 KB
 Heruntergeladen:  277 mal
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 13.02.2016, 15:53     Titel:
  Antworten mit Zitat      
Hallo,

ich bin zwar kein Matlab Profi, würde aber sagen, dass dein Vorhaben (R=P*Q) nicht möglich ist, da die Dimensionen von P 2x10 und Q 2x5 nicht zusammen passen. Da bleibt nur ein Umweg. Matrizen unterschiedlicher Größe können nicht auf dem einfachen Weg multipliziert werden.

Gruß DSP
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 - 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.