名前が数字に関連付けられたtxtファイルをループでインポートしたい
6 views (last 30 days)
Show older comments
1.txt~100.txt のtxtファイルが有ります。
txtファイルの中には4*1000のデータが入っており
M=readmatrix('filename.txt')
で、Mが4*1000 double の形で出力出来ることは確認できているのですが
id = 1
matlix=readmatrix('filename.txt')
の様にすると
次を使用中のエラー: readmatrix
すべてのパラメーターは関連付けられている値をもっていなければなりません。
のエラーが出ます。
最終的には
for id = 1 : 100
matlix=readmatrix('filename.txt')
Mat{id}=matlix
end
の様にして4*1000*100 のひとつのマトリクスを得たいです。
https://jp.mathworks.com/matlabcentral/answers/557602-csv-mat?s_tid=srchtitle などのヘルプを参考にしてはいるのですが上手くいきません
ご存知の方いらっしゃれば回答頂けると幸いです。
0 Comments
Accepted Answer
Atsushi Ueno
on 7 Jun 2023
Mat{id}=matlix
中括弧を使ったアクセスは、セル配列の値に対するアクセスです。
4*1000*100 のひとつのマトリクスを得る場合、小括弧()でアクセスします。
f_name_base = [pwd filesep]; % 作業フォルダのパスを得る
Mat = zeros(4,1000,100); % 4*1000*100 のひとつのマトリクスに結果を格納する
for id = 1:100
str_id = num2str(id, '%i');
f_path = strcat(f_name_base, str_id, '.txt');
writematrix(ones(4,1000),f_path); % テスト用の 1.txt~100.txt を作成。本来は不要
matlix = readmatrix(f_path);
Mat(:,:,id) = matlix;
end
sum(Mat,'all') % 4*1000*100 全要素の値を1にしたので、合計すると400000になる
More Answers (0)
See Also
Categories
Find more on テキスト ファイル in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!