2016-09-04 24 views
-1

私は一組の.wavファイルを持っていて、一ヶ月だけ賢明に選んだり、毎晩/夜間のみにpsd(パワースペクトル密度)月に属するファイルどのように行くか?次の書式の一部がいくつかのパラメータの感覚を得るために名前に日付が含まれているファイル名の配列から特定のファイル名を選択

AMAR168.1.20150823T200235Z.wav 
AMAR168.1.20150823T201040Z.wav 
AMAR168.1.20150823T201845Z.wav 
AMAR168.1.20150823T202650Z.wav 
AMAR168.1.20150823T203455Z.wav 
AMAR168.1.20150823T204300Z.wav 
AMAR168.1.20150823T205105Z.wav 
AMAR168.1.20150823T205910Z.wav 
AMAR168.1.20150823T210715Z.wav 

yyyymmddTHHMMSSZ.wavコード - MATLABにある読み込まれ、.txtファイルの最初の10 .wavファイルです。

多くのお礼ありがとうございます

+0

こんにちはkanachi、私はあなたの問題をより適切にするためにあなたのタイトルを編集します。これがあなたが意図したものでないかどうか私に教えてください。 –

答えて

0

あなたはより具体的にする必要があります。
すべてのファイルは常に「AMAR168.1」で始まりますか?例えば?とにかく、あなたはポイントを得る、それらはすべて同じ日付を持っているので、

AllFilenames = fileread ('filenames.dat'); 
FileNames = strsplit (AllFilenames, '\n'); 
for i = FileNames           
    if ~isempty (strfind (i{:}, '20150823')); disp(i{:}); end 
end 

あなたのファイル名の例は非常に有用ではない、しかし:

とにかく、ここであなたが始めるための一般的なアプローチです。ファイル名は常にが同じ形式とサイズを持っている場合

また、あなたが行うことができ、例えば:

AllFilenames = fileread ('filenames.dat');    
AllFilenames = strvcat (strsplit (AllFilenames, '\n')); 
LogicalIndices = categorical (cellstr (AllFilenames(:,15:16))) == '08'; 

月は、例えば「08」であるすべての行を取得します。 これは、月が常に15〜16桁の文字列であることを前提としています。

+0

助けてくれてありがとう。はい、すべてのファイルはAMAR168.1で始まります。 – kanachi

+0

ok、good、2番目のソリューションを使用してください! :p –

関連する問題