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

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

Akzeptierte Antwort

Shunichi Kusano
Shunichi Kusano am 16 Jan. 2023
こんにちは。
リストはもうできているということなので、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 Kommentar
Ryusuke
Ryusuke am 17 Jan. 2023
回答ありがとうございます!頑張ってみます!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!