次のようなインデックス ファイル (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のマトリックスにロードするにはどうすればよいですか?