組み合わせを用いて、関数を動かしたい。

5 次查看(过去 30 天)
Ryusuke
Ryusuke 2023-1-16
评论: Ryusuke 2023-1-17
こんにちは。プログラミング初心者です。題にあるように、matlabで組み合わせを用いて関数を動かしたいのですが、やり方がわかりません。
具体的に言うと、今現在、listでフォルダ内のファイルを読み込む所まではできました。そこでfor文等を使って、繰り返し計算を行いたいのですが、フォルダ内のファイル(csv)の全ての中から3つを選んで計算し、全ての組み合わせを網羅したいと思っています。
計算に用いたファイル名(分かれば良い)と、計算結果を行列等にしてプロットしたいと思っています。
力を貸してください。よろしくお願いします。

采纳的回答

Shunichi Kusano
Shunichi Kusano 2023-1-16
こんにちは。
リストはもうできているということなので、nchoosek関数が使えると思います。例えば
C = nchoosek([1:5],3)
で、1から5までの数から3つを取り出す組合せを全て列挙してくれます。ですのでリストしたファイルの総数をNとすると
C = nchoosek([1:N],3)
で、組合せが全て得られます。
あとはforループでその組み合わせ分だけ回せばいいので
for combi = 1:size(C,1)
fileIDs = C(combi,:); % このループの組合せ
file1 = filelist(fileIDs(1)); % ファイル名をリスト化しておき、該当するIDのファイル名を取得
file2 = filelist(fileIDs(2));
file3 = filelist(fileIDs(3));
% ファイルの読込み
XXX
% 処理
YYY
% 結果の保存
ZZZ
end
みたいな感じで書けばいいかと思います。
  1 个评论
Ryusuke
Ryusuke 2023-1-17
回答ありがとうございます!頑張ってみます!!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 データ型の識別 的更多信息

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!