1

次のようなインデックス ファイル (runnumber_odour.txt という名前) があります。

run00001.txt   ptol
run00002.txt   cdeg
run00003.txt   adef
run00004.txt   adfg

これを matlab のマトリックスにロードする方法が必要です。2 番目の列を検索してそれらの文字列の 1 つを見つけ、対応するファイルをロードして、それを使用してデータ分析を行うことができます。(つまり、「ptol」を検索すると、run00001.txt が読み込まれ、そのファイル内のデータが分析されます)。

私はこれを試しました:

clear; clc ;
% load index file - runnumber_odour.txt
runnumber_odour = fopen('Runnumber_odour.txt','r');
count = 1;
lines2skip = 0;

while ~feof(runnumber_odour)

 runnumber_odourmat = zeros(817,2);
 if count <= lines2skip
     count = count+1;
     [~] = fgets(runnumber_odour); % throw away unwanted line
     continue;
 else
     line = strcat(fgets(runnumber_odour));
     runnumber_odourmat = [runnumber_odourmat ;cell2mat(textscan(line, '%f')).'];
     count = count +1;
   end
end

runnumber_odourmat

しかし、これは 817 × 2 のゼロのマトリックスを生成するだけで (つまり、マトリックスに書き込みません)、runnumber_odourmat = zeros(817,2); という行はありません。「未定義の関数または変数 'runnumber_odourmat'.

strcat の代わりに strtrim でもこれを試しましたが、同じ問題で機能しません。

では、そのファイルをmatlabのマトリックスにロードするにはどうすればよいですか?

4

1 に答える 1