|
lusiess01 |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 21.03.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.04.2021, 23:50
Titel: Dimensionen von Matrizen
|
|
Hallo Forum,
ich habe folgende Aufgabenstellung und weiß nicht mehr weiter wie ich die Dimensionen berechnen kann.
Zitat: |
Schreiben Sie eine MATLAB-Funktion die zwei nxm Matrizen A und B als Parameter entgegen
nimmt vier Rückgabewerte liefert:
1. Die Größe der kleineren Dimension
2. Die Größe der größeren Dimension
3. Das Ergebnis der Matrix-Multiplikation (Dimensionen beachten!)
4. Das Ergebnis der elementweisen Multiplikation
Testen Sie Ihre Funktion mit func(A,B), func(A’,B’) und func(B,A).
|
Der Code den ich bis jetzt geschrieben habe bring die Fehlermeldung dass die Dimensionen überein stimmen müssen. Danach funktionier meine Abfrage nicht. HAt von euch jemand eine Idee?
Danke!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.04.2021, 08:21
Titel:
|
|
Hallo,
unter der kleineren und größeren Dimension würde ich die Zeilen- und Spaltenanzahl verstehen. Diese bekommst du mit
size
, anschließend
min
und
max
.
Für die Matrixmultiplikation * brauchen die Dimensionen nicht übereinzustimmen, sondern Spaltenanzahl der ersten Matrix und Zeilenanzahl der zweiten Matrix.
Für elementweise Multiplikation .* müssen die Dimensionen übereinzustimmen.
Ich würde FctErg3 und FctErg4 in irgendeiner Form initialisieren, damit etwas zurückgegeben werden kann, wenn eine der Multiplikationen nicht durchgeführt werden konnte, z.B.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
lusiess01 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 21.03.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.04.2021, 18:28
Titel:
|
|
Hallo Harald,
Danke erstmal für die schnelle Antwort.
Ich habe den Code jetzt wie beschreiben abgeändert. Ich alles zwei Matrizen mit der gleichen Dimension erzeugen doch die Multiplikation funktioniert trotzdem nicht. Weder mit
noch mit
.
Zitat: |
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches
the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error in MATLAB_Uebungen_03h_Siess>fctUE7 (line 32)
FctErg3=MatrixA*MatrixB
Error in MATLAB_Uebungen_03h_Siess (line 11)
[Erg1 Erg2 Erg3 Erg4]=fctUE7(A, B) |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.04.2021, 18:46
Titel:
|
|
Hallo,
wie gesagt:
Zitat: |
Für die Matrixmultiplikation * brauchen die Dimensionen nicht übereinzustimmen, sondern Spaltenanzahl der ersten Matrix und Zeilenanzahl der zweiten Matrix. |
Das ist bei deinen Matrizen nicht der Fall.
.* würde übrigens schon funktionieren. Du versuchst nur zuerst * wobei der Fehler passiert, somit kommt MATLAB nicht mehr zu .*
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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 - 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.
|
|