Verfasst am: 03.04.2019, 14:29
Titel: if-Schleife:Tabelle teilen und Teile in cell-array speichern
Hallo liebes Forum!
Eine Matlab-Anfängerin hier.
Ich habe folgendes Problem:
Ich habe Daten in Form einer zweispaltigen Tabelle (A) mit 142 Zeilen. Bei den Werten in der linken Spalte handelt es sich um Lastwerte, bei denen in der rechten um Zeitwerte.
Mit meinem Skript möchte ich nun erreichen, dass die Tabelle nach jeder t-ten Zeiteinheit geteilt wird. Die resultierenden Teilen sollen in den Zellen eines Cell-arrays (B) gespeichert werden.
Dieses Problem habe ich mit einer einfachen for Schleife gelöst.
Nun kommt aber noch ein Zusatz: Die Teilung soll nur dann stattfinden, wenn die letzten beiden Werte der linken Spalte vor der Teilung identisch sind, ist dies nicht der Fall, soll ein Wert weitergangen gegangen werden und dort geteilt werden.
numIters=13; %% Anzahl der Teilungen
t=A(end,2)/numIters; %% Variable t ergibt sich aus der Anzahl der Teilungen und der Endzeit
k=1; %%Laufvariable
B = cell(numIters,1); %% B wird definiert
for i=1:length(A) if(A(i,2) >= t*k && A(i,1) == A(i+1,1))
B {k,1} =A(1:i+1,:);
A=A(i+2:end,:);
k=k+1;
elseif(A(i,2) >= t*k)
B {k,1} =A(1:i+2,:);
A=A(i+3:end,:);
k=k+1;
else continue
k=k+1;
end
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.