フィルターのクリア

for構文で出てきた​変数にナンバリングす​る方法が知りたいです​。

27 ビュー (過去 30 日間)
Taito Kinoshita
Taito Kinoshita 2021 年 3 月 31 日
コメント済み: Taito Kinoshita 2021 年 3 月 31 日
for構文を使って10×10の行列を作ったとします。
この行列を変数「team」とした場合、team_1~100を作るにはどうしたら良いでしょうか。
具体的には以下のようなコードで、「team」という変数の後にナンバリングしたいです
for k=1:100
for kkk=1:10
n = 100;
team(:,kkk) = randsample(n,10)
end
end

採用された回答

Shunichi Kusano
Shunichi Kusano 2021 年 3 月 31 日
Hernia Babyさんのおっしゃるとおり、あまりevalは推奨されていません。その理由や連番で変数を作る際の代替法についても次のページで説明がありますのでご覧いただければと思います。
  1 件のコメント
Taito Kinoshita
Taito Kinoshita 2021 年 3 月 31 日
回答ありがとうございます!こちらのページ見て検討したいと思います!

サインインしてコメントする。

その他の回答 (1 件)

Hernia Baby
Hernia Baby 2021 年 3 月 31 日
sprintf と evalの組み合わせで行いました。
しかしナンバリング自体はあまりお勧めしません。
for i = 1:100
n = 10;
eval(sprintf('team_%i = randsample(%i,10);',i,n));
end
  1 件のコメント
Taito Kinoshita
Taito Kinoshita 2021 年 3 月 31 日
回答ありがとうございます!!

サインインしてコメントする。

カテゴリ

Help Center および File Exchangeループと条件付きステートメント についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!