0

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 に精通していませんが、インポートされるデータに数字以外の文字があるため、この場合はそれを使用する必要があることを読みました。

4

1 に答える 1