|
|
Multiplikation der Elemente von A und B = C |
|
Eddy1191 |

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 24.03.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.04.2016, 21:15
Titel: Multiplikation der Elemente von A und B = C
|
 |
|
 |
|
Hallo,
wie ihr im Titel schon sieht, geht es um die Multiplikation der einzelnen Elemente zweier Matrizen. Um mein Problem zu veranschaulichen, nenne ich euch erstmal meine Aufgabenstellung.
Programmieren Sie die Funktion MM(A,B) , die als Argumente 2 Matrizen A, B erhält und folgende Matrix zurückliefert:
Jedes Element der Matrix A wird mit der Matrix B multipliziert. Als Ergebnis erhalten Sie eine Matrix C, die anstelle eines Elementes ai,j aus A die Teilmatrix ai,jB enthält.
Hinweise: Bestimmen Sie zunächst die Dimensionen von A und B, sowie der neuen Matrix.
Verwenden Sie for-Schleifen. Setzen Sie C aus den Teilmatrizen ai,jB zusammen.
Beispiel:
A=[2,3], B=[1;4] = C=[2,3; 8,12] %1.
A[2,3; 5,6], B=[1;4] = C=[2,3 ; 8,12; 5,6; 20,24] %2.
A[2,3; 5,6], B=[1,2; 3,4] = C=[2,4,3,6; 6,8,9,12; 5,10,6,12; 15,20,18,24] %3.
Ich hoffe, dass ihr mir momentan noch folgen könnt. Also man muss bei der ersten (%1.) die Elemente von A und B so multiplizieren:
A=[2] * B[1] = C[2]
A=[2] * B[ 4] = C [8] und so weiter dann.
Hier ist meine momentane Vorgehensweise in Matlab dargestellt:
function [C]= MM(A,B)
E = size(A); % Dimensionen von A
F = size(B); % Dimensionen von B
for i=1:E(2)
for j=1:E(1)
C(2*j-1:2*j-1+F(2),i)=A(j,i).*B; %Formel funktioniert nur für %1 und %2
end
end
end
Für die ersten beiden Gleichungen (%1 und %2) funktioniert die Formel, jedoch nicht für die %3.
Ich hoffe, dass ihr mir hier weiter helfen könnt, einen geeigneten Lösungsansatz zu erstellen, da ich bereits länger an diese Aufgabe stecken bleibe.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.04.2016, 22:05
Titel:
|
 |
Hallo,
mir ist nicht klar, nach welchen Kriterien die Zahlen angeordnet werden sollen.
Äußere Vektorprodukte könnten das ganze erleichtern:
Hier stimmt "nur" die Anordnung noch nicht.
Grüße,
Harald
|
|
|
Eddy1191 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 24.03.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.04.2016, 22:24
Titel:
|
 |
Hallo Harald,
könntest du erläutern was du mit der Anordnung meinst?
Ich habe in deiner Funktion für A=[2,3] und für B[1;4] eingesetzt, jedoch bekomme ich leider eine Fehlermeldung, wobei das Ergebnis C[2,3; 8,12] sein muss.
Liebe Grüße
Eddy
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.04.2016, 22:37
Titel:
|
 |
Hallo,
Zitat: |
könntest du erläutern was du mit der Anordnung meinst? |
Wenn du den Code für das dritte Beispiel laufen lässt, kommen die richtigen Zahlen heraus, aber in der falschen Reihenfolge. Mir ist nicht klar, wie du auf deine Reihenfolge kommst.
Grüße,
Harald
|
|
|
Eddy1191 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 24.03.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.04.2016, 11:04
Titel:
|
 |
A[2,3; 5,6], B=[1,2; 3,4] = C=[2,4,3,6; 6,8,9,12; 5,10,6,12; 15,20,18,24]
Also man muss für die erste Zeile für C 2*1 rechnen, dann 2*2, dann 3*1, dann 3*2
Für die 2. Zeile dann 2*3, dann 2*4, dann 3*3, dann 3*4 und so weiter dann.
Ich hoffe das es jetzt einigermaßen verständlicher ist, wie man für C auf diese Reihenfolge kommt.
Dabei wollte ich noch anmerken, dass ich eine Formel benötige, die jeweils alle 3 Beispiele ausrechnen kann, da dort mein größtes Problem liegt, eine einheitliche Formel zu bilden.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|