|
|
Function zur Matrixmultiplikation |
|
hallo123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.12.2011, 16:11
Titel: Function zur Matrixmultiplikation
|
 |
Hallo Leute,
ich muss eine Funktion zur Matrixmultiplikation schreiben. Es soll gepräft werden ob A*B überhaupt existiert.
Ich darf allerdings keine vorgefertigten Matlabfunktionen zur Matrixberechnung verwenden.
Ich hab jetzt mal folgendes probiert:
Ich muss sagen, dass ich noch ein Neuling in Sachen programmieren bin und ich irgendwie gar nicht mit den for Schleifen zurecht komme.
Ich hoffe ihr könnt mir ein paar Tipps geben.
MfG
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.12.2011, 17:11
Titel:
|
 |
Hallo,
ein Anfang ist das ja schon mal.
Es ist allerdings sinnlos, die Matrizen als Eingabeargumente zu übergeben UND sie zur Laufzeit eingeben zu lassen, da solltest du dich (vorzugsweise für die erste Variante) entscheiden.
Nun ergeben sich die Einträge der Matrix C ja nicht nur aus einem Produkt von je einem Element von A und B, sondern als Summe von mehreren solcher Produkte; siehe z.B. hier:
http://de.wikipedia.org/wiki/Matrix.....29#Matrizenmultiplikation
Desweiteren solltest du C vorbelegen.
Grüße,
Harald
|
|
|
hallo123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.12.2011, 17:21
Titel:
|
 |
Vielen Dank für die schnelle Antwort.
Zitat: |
Es ist allerdings sinnlos, die Matrizen als Eingabeargumente zu übergeben UND sie zur Laufzeit eingeben zu lassen, da solltest du dich (vorzugsweise für die erste Variante) entscheiden. |
Okay aber das ist nicht dringend notwendig oder? Sprich es trägt nicht dazu bei dass das Programm nicht läuft oder?
Zitat: |
Es ist allerdings sinnlos, die Matrizen als Eingabeargumente zu übergeben UND sie zur Laufzeit eingeben zu lassen, da solltest du dich (vorzugsweise für die erste Variante) entscheiden. |
Jo mir ist klar, dass ich quasi diese Summenformel mit Hilfe von for-Schleifen umschreiben muss. Allerdings verstehe ich nicht so ganz wie. Brauche ich 2 oder 3 vorschleifen? Und wie kann ich dann die einzelnen Elemente noch addieren?
Zitat: |
http://upload.wikimedia.org/wikipedia/de/math/b/1/3/b13959ba2f284e6b586b23eb1de93a5f.png |
Das verstehe ich leider nicht. Könntest du das vielleicht ein bisschen genauer erklären?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.12.2011, 17:58
Titel:
|
 |
Hallo,
du kannst die Elemente entweder in einer weiteren for-Schleife aufsummieren
oder den SUM-Befehl verwenden, um die Elemente vektorisiert zu berechnen und dann aufzusummieren.
Was genau verstehst du an der Formel nicht? Du musst sie für jedes i und j implementieren, so wie du ja auch schon angefangen hast.
Grüße,
Harald
|
|
|
hallo123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.12.2011, 14:11
Titel:
|
 |
Sodala ich hab jetzt schon alles probiert, aber ich bekomm es einfach nicht zum laufen. Wenn ich für A eine 3x3 und für B eine 3x2 Matrix eingebe bekomme ich immer folgende Fehlermeldung:
Ich bin schon am verzweifeln. Kann mir bitte jemand sagen, was ich konkret falsch gemacht habe? Hier nochmal mein endgültiger Code:
Bitte um Hilfe
MfG
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.12.2011, 15:52
Titel:
|
 |
Hallo,
kleiner Tipp: das Problem liegt in dieser Zeile:
Grüße,
Harald
|
|
|
|
|
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.
|
|