clear; close; clc nrMonths = 12; dataColumns = 12; sz = [nrMonths dataColumns+2]; % Datenspalten +2 weil Spalten 1 und 2 "Jahr" und "Monat" enthalten varTypes = {'datetime','datetime','double', 'double',... 'double', 'double', 'double', 'double', 'double', 'double', 'double', 'double','double', 'double'}; % Spalten benennen varNames = {'Jahr','Monat','Data_1', 'Data_2',... 'Data_3', 'Data_4', 'Data_5', 'Data_6', 'Data_7', 'Data_8', 'Data_9', 'Data_10', 'Data_11', 'Data_12'}; % Ausgangstabelle T T = table('Size',sz,'VariableTypes',varTypes,'VariableNames',varNames); % Start-Jahr festlegen % End-Monat beachten: Anzahl Monate sz(1,1) = 12 siehe Zeile 3: Endwert datetime(2000,12,31) also 12 Monate entfernt von Ausgangs datetime T.Jahr(:,1) = datetime(2000,01,31):calmonths(1):datetime(2000,12,31); % calmonths(1) 1-Monat-Schritte % T.Jahr.Format ist noch 'dd-MMM-uuuu', aendern zu "nur Jahr" uuuu T.Jahr.Format = 'uuuu'; T.Monat(:,1) = datetime(2000,01,31):calmonths(1):datetime(2000,12,31); % "nur Monat" MMM T.Monat.Format = 'MMM'; yearsToAdd = 20; % Tabellen für 2000 bis 2020 benoetigt numIters = yearsToAdd + 1; % Anzahl Iterationen für loop myTables = cell(1, numIters); % Cell Array, das die Tabellen fuer mehrere Jahre enthalten wird for index = 1 : numIters myTables{index} = T; T.Jahr = T.Jahr(:,1) + calyears(1); end