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

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

Respuesta aceptada

Shunichi Kusano
Shunichi Kusano el 16 de En. de 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 comentario
Ryusuke
Ryusuke el 17 de En. de 2023
回答ありがとうございます!頑張ってみます!!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre ソルバー出力と反復表示 en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!