質問: cellfun(@(x) (x(1:18)), filename, 'uniformoutput', false) ; n=1 datenum(sdirdate(n)) エラー: datenum (line 190) datenum は失敗しました。 原因: エラー: datevec (line 275) 2019,10,23,09,30,0 の日付フィールドが多すぎます。
回答: matlab には datetime 型 と呼ばれる日付と時刻を表現するデータ型があるみたいですので、そのデータ型を使用してみてはいかがでしょうか。 https://jp.mathworks.com/help/matlab/date-and-time-operations.html?s_tid=crux_lftnav % テスト用の日付を含む文字列を作成 strdate = '2019,10,23,09,30,0.ext' idx = strfind(strdate,'.ext') % 文字列から .ext の場所を特定 strdate(idx:end) = [] % 文字列から .ext を削除 % 日付 datetime 型に変換 t = datetime(strdate,'inputformat','uuuu,mm,dd,hh,mm,s') % 日付と時刻をシリアル日付値に変換 datenumber = datenum(t)