textscan を使用してテキスト ファイルからデータを読み込もうとしています。テキストファイルは 3 つのスペースで区切られ、100 行のデータと 9 列で構成されています。100 x 1 のマトリックスと思われるものを返すようにできます。100 x 9 の行列を返すコードを取得する方法を見つけようとしています。以下は、使用しているコードです...
fid = fopen('file.txt','r');
data = textscan(fid, ' %d %d %d %d %d %d %d %d %d\n');
disp(data); %This command outputs [100x1 int32]
fprintf('data is: %s\n', data{1}); %this outputs garbage
fprintf('data is: %s\n', data{2}); %this outputs garbage
fprintf('data is: %s\n', data{3}); %this outputs garbage
fprintf('data is: %s\n', data{4}); %this outputs garbage
fprintf('data is: %s\n', data{5}); %see output below
Columns 1 through 4
[100x1 int32] [100x1 int32] [100x1 int32] [100x1 int32]
Columns 5 through 8
[100x1 int32] [100x1 int32] [100x1 int32] [100x1 int32]
Column 9
[100x1 int32]
fclose(fid);
ご覧のとおり、データにアクセスすると、必要に近い結果が得られています{5}。私の最終的な目標は、列 1 ~ 8 のマトリックスを作成し、次に行 9 の列マトリックスを作成することです。以下は、テキスト ファイルでデータがどのようにフォーマットされるかです。1 列目の前に 3 つのスペースがあり、その後の各列の間は 3 つのスペースで区切られています。
1.2000000e+02 1.0000000e+00 3.2000000e+00 7.2300000e+02 1.7000000e+00 9.0440000e+03 9.6700000e+02 6.8000000e+01 6.4580000e+01
助けてくれてありがとう。しばらくの間、テキストスキャンのパラメーターと区切り文字をいじっていましたが、うまくいきませんでした。私は textscan に精通していませんが、インポートされるデータに数字以外の文字があるため、この場合はそれを使用する必要があることを読みました。