0

I have a data title ABCDE_D20110507T11522323 これは、データが 2011 年 5 月 7 日の ta 時間 (T の後) 11:52:23:23 に収集されたことを表します。このスクリプトを使用すると、この情報を抽出できるはずです

fnames=dir('ABCDE*.mat') 
hour=str2num(fnames(1).data(11:18)) 

(11:18)文字番号を表します 何が間違っていますか? スクリプト内で (HH,MM,SS) などの必要な形式を指定する必要がありますか? 助けてくれてありがとう

4

2 に答える 2

1

ファイル名から完全な日付を取得して、時間を抽出できます。

fnames = dir('ABCDE*.mat');
for idx = 1:size(fnames, 1)
    str(idx,:) = fnames(idx).name(8:22)
    dateVector(idx,:) = datevec(str(idx,:), 'yyyymmddTHHMMSS') % Convert the string to date vector
    hrs(idx,:) = dateVector(idx,4:6)
end

ディレクトリに2つのファイルがあるとします。変数は次のようになります。

str =

20130228T171052
20130228T143122

dateVector =

        2013           2          28          17          10          52
        2013           2          28          14          31          22


hrs =

    17    10    52
    14    31    22

hrs時間、分、秒になります。

于 2013-02-28T14:57:49.097 に答える
0

nameダンが指摘したように、構造体配列のフィールドを参照する必要がありますfnames(無効ではありませんdata)。

hour = str2double( fname(1).name(17:18) );
于 2013-02-28T13:59:20.913 に答える