|
|
Fehler: Matrix-dimension musst agree |
|
Krachbummente |

Forum-Anfänger
|
 |
Beiträge: 38
|
 |
|
 |
Anmeldedatum: 18.08.15
|
 |
|
 |
Wohnort: Hannover
|
 |
|
 |
Version: 14a, 17b
|
 |
|
|
 |
|
Verfasst am: 18.09.2015, 15:44
Titel: Fehler: Matrix-dimension musst agree
|
 |
Hallo,
Ich habe ein kleines Problem, und zwar möchte ich die folgende Gleichung ausrechnen:
Alle größen sind gegeben, einzig w ist ein Vektor, wie im Code angegeben.
Ich erhalte die folgende Fehlermeldung:
"Error using *
Inner matrix dimensions must agree.
Error in Zylinderimpedanz (line 24)
Zzyl1=Rzyl*(I0*(sqrt(j*w*rd^2/D))*K0*(sqrt(j*w*r0^2/D))-I0*(sqrt(i*w*r0^2/D)*K0*(sqrt(j*w*rd^2/D)))) /... "
Ich weiß, dass bei Matrix-Rechnung in manchen Fällen ein Punkt vor dem Rechenzeichen notwendig ist, ich dachte aber dass es bei Multiplikation von einem Skalar mit einem Vektor nicht nötig ist.
Kann da jemand helfen?
Gruß
Daniel
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.09.2015, 15:54
Titel:
|
 |
Hallo,
manchmal hilft es auch, längere Zeilen in mehrere Zeilen aufzuteilen.
Hier ist es z.B. so, dass du
sqrt( <Vektor> ) * sqrt (<Vektor> )
hast. Die Multiplikation (und vielleicht noch weitere) muss also komponentenweise erfolgen.
Grüße,
Harald
|
|
|
Epfi |

Forum-Meister
|
 |
Beiträge: 1.134
|
 |
|
 |
Anmeldedatum: 08.01.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.09.2015, 17:32
Titel: Re: Fehler: Matrix-dimension musst agree
|
 |
Krachbummente hat Folgendes geschrieben: |
Ich weiß, dass bei Matrix-Rechnung in manchen Fällen ein Punkt vor dem Rechenzeichen notwendig ist, ich dachte aber dass es bei Multiplikation von einem Skalar mit einem Vektor nicht nötig ist. |
Da steckt sogar System dahinter, wann man den Punkt macht und wann nicht...
*
= Skalarprodukt zweier Vektoren
*
= Matrixprodukt zweier Matrizen
*.
= elementweise Multiplikation von zwei Matrizen oder zwei Vektoren (erstes mal erstes, zweites mal zweites, ...)
Entsprechend gilt das für
/
bzw.
./
und
^
bzw.
.^
.
Mehr Details verrät Dir die Hilfe unter http://de.mathworks.com/help/matlab.....vs-matrix-operations.html
|
|
|
Krachbummente |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 38
|
 |
|
 |
Anmeldedatum: 18.08.15
|
 |
|
 |
Wohnort: Hannover
|
 |
|
 |
Version: 14a, 17b
|
 |
|
|
 |
|
Verfasst am: 18.09.2015, 22:18
Titel:
|
 |
Danke zunächst für die Antworten.
Harald hat Folgendes geschrieben: |
manchmal hilft es auch, längere Zeilen in mehrere Zeilen aufzuteilen.
|
Meinst du damit so etwas?
Oder meinst du dass ich jeden Faktor separat definiere, sprich anstatt
schreibe ich
?
Macht das einen Unterschied?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.09.2015, 22:23
Titel:
|
 |
Hallo,
ich meine letzteres. Es macht den Unterschied, dass du siehst, welches * die Fehlermeldung genau wirft. Wenn du nämlich siehst, dass A und B hier Vektoren gleicher Dimensionen sind, dann liegt auch nahe, .* statt * zu verwenden.
Grüße,
Harald
|
|
|
Krachbummente |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 38
|
 |
|
 |
Anmeldedatum: 18.08.15
|
 |
|
 |
Wohnort: Hannover
|
 |
|
 |
Version: 14a, 17b
|
 |
|
|
 |
|
Verfasst am: 18.09.2015, 23:12
Titel:
|
 |
Danke für den Hinweis, nun funktioniert das Programm.
Die Gleichung sieht dann so aus:
Grüße
Daniel
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 19.09.2015, 15:15
Titel:
|
 |
Hallo Krachbummente,
Nur ein Hinweis: Kannst diese Gleichung lesen, z.B. zum Debuggen?
Ich schlage vor:
Das finde ich viel übersichtlicher und die Vermeidung die Wurzeln für c1 und c2 wiederholt zu berechnen ist es auch noch schneller. Zudem erkenne ich als Außenstehender schon eine Struktur in der Formel und käme so einem Bug viel eher auf die Spur.
Gruß, Jan
|
|
|
|
|
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.
|
|