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

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

Réponse acceptée

Shunichi Kusano
Shunichi Kusano le 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 commentaire
Ryusuke
Ryusuke le 17 Jan 2023
回答ありがとうございます!頑張ってみます!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur データ型の識別 dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!