時系列データをMATLABのテーブルに格納する場合の例をメモしておきます。
CSVデータが下のような場合を考えます。2020/03/25, 17:02:55, 12.523
次のようなコードが使えます。最終的に時間を経過時間にしています。
最初の列が日付、次の列が時刻なのでスペースで連結しています。
dataStartLine = 5; delimiter = ','; varNames = {'date', 'time', 'hoge' }; varTypes = {'string', 'string', 'double'}; extraColRule = 'ignore'; opts = delimitedTextImportOptions('VariableNames',varNames,... 'VariableTypes',varTypes,... 'Delimiter',delimiter,... 'DataLines', dataStartLine,... 'ExtraColumnsRule',extraColRule); csvName = "fuga.CSV"; preview(csvName, opts) data = readtable(csvName, opts); dateTime = data.date + " " + data.time; dateTime = datetime(dateTime, 'InputFormat', 'yyyy/MM/dd HH:mm:ss'); time = dateTime - dateTime(1);
上記の例よりも、データ列が多い場合はvarName, varTypeを適宜追加すればOKです。