Verfasst am: 28.07.2017, 08:50
Titel: Variable Anzahl von Matrizen in eine Matrix schreiben
Hallo Community,
ich bin relativ neu in Matlab. Ich hoffe ich finde hier Hilfe für mein Problem, da ich für dieses im Internet keine Antwort finden konnte.
Mein Programm errechnet mir je nach je Anzahl der Eingabeparameter eine unterschiedliche Anzahl an Matrizen mit unterschiedlichem Inhalt. Dabei haben alle Matrizen die gleiche Anzahl an Zeilen (nähmlich 2), jedoch eine unterschiedliche Anzahl an Spalten (zwischen 700 und 2500). Zudem variieren, wie oben erwähnt, die Anzahl der berechnet Matrizen.
Ich suche eine Lösung, wie alle diese Matrizen durch eine Schleife automatisch in einer Matrix hintereinander geschrieben werden. Also dass bsp. aus folgenden 5 Matrizen:
[100,2],[200,2],[300,2],[400,2],[500,2]
eine Matrix mit [1500,2] entsteht.
Folgen Ansatz habe ich verfolgt bis ich bemerkt habe, dass die Anzahl an Matrizen viel zu groß ist und ich so mehr als 1000 Zeilen Code schreiben müsste.
Code:
% Aus unterschiedlich vielen Matrizen eine Gesamtmatrix machen % N entspricht der Anzahl der errechneten Matrizen % Die errechneten Matrizen werden jeweils in die fortlaufende Variable y geschieben (also y1, y2, ...) if(N==1)
Endmatrix=[y1];
elseif(N==2)
Endmatrix=[y1,y2];
elseif(N==3)
Endmatrix=[y1,y2,y3];
elseif(N==4)
Endmatrix=[y1,y2,y3,y4];
else(N==5)
Endmatrix=[y1,y2,y3,y4,y5];
end
Verfasst am: 01.08.2017, 12:07
Titel: Re: Variable Anzahl von Matrizen in eine Matrix schreiben
Hallo Gonsilla,
Das Porblem ist es, dass Du zunächst einen Haufen von Variablen erzeugst, die einen Index im Namen versteckt haben. Dies ist immer ein Schuss ins Knie, wie Du in hunderten Threads in diesem Forum nachlesen kannst (suche nach "eval" oder "Index verstecken").
Wenn die Matrizen stattdessen als Cell-Array definiert wären:
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
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.