[解決済み] MATLABにforeachはあるのか?もしあれば、基礎となるデータが変更された場合、どのように動作するのでしょうか?
2022-04-21 12:15:56
質問
MATLABにはforeach構造があるのでしょうか? もしあれば、基礎となるデータが変更された場合(つまり、オブジェクトがセットに追加された場合)どうなるのでしょうか?
どのように解決するのですか?
MATLABの FOR ループは静的な性質を持っており、反復の間にループ変数を変更することはできません。 for(初期化;条件;インクリメント) 他の言語でのループ構造 つまり、次のコードはBの値に関係なく、常に1, 2, 3, 4, 5と表示されることになります。
A = 1:5;
for i = A
A = B;
disp(i);
end
反復中のデータ構造の変更に対応できるようにしたい場合は WHILE ループ の方がより適切かもしれません。ループの条件を繰り返しごとにテストし、ループ変数の値を好きなように設定できます。
n = 10;
f = n;
while n > 1
n = n-1;
f = f*n;
end
disp(['n! = ' num2str(f)])
を、ト書きしています。 for-each ループ Javaで (は、反復処理中にデータ構造が変更されると、不特定の動作をします。もし、データ構造を変更する必要があるならば、適切な イテレータ インスタンスで、反復処理中のコレクションに要素を追加したり削除したりすることができます。MATLABはJavaオブジェクトをサポートしているので、このようなことができるのです。
A = java.util.ArrayList();
A.add(1);
A.add(2);
A.add(3);
A.add(4);
A.add(5);
itr = A.listIterator();
while itr.hasNext()
k = itr.next();
disp(k);
% modify data structure while iterating
itr.remove();
itr.add(k);
end
関連
-
[解決済み] matlabエディタで複数の行をコメントするためのショートカットキーはありますか?
-
[解決済み] matlabでrandnを持つ確率変数の範囲はどうなっていますか?
-
[解決済み] プロットを回転させる?
-
[解決済み] Matlab Error: ポジション1のインデックスが配列の境界を越えています
-
[解決済み] 匿名関数の微分
-
[解決済み] MATLABで関数のパラメータにデフォルト値を設定するにはどうすればよいですか?
-
[解決済み] 1変数に対するfzeroとfsolveの差分
-
[解決済み] SetをArrayに変換するには?
-
[解決済み] PowerShellで関数に複数のパラメータを渡すにはどうすればよいですか?
-
[解決済み] PythonにMultiline Lambdaはない。なぜダメなのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] matlabエディタで複数の行をコメントするためのショートカットキーはありますか?
-
[解決済み] matlabでhashtables/hashmapsを使う方法はありますか?重複
-
[解決済み] MATLABでカラーバーのスケールを制御する
-
[解決済み] matlab、デフォルトの図サイズを設定するが、位置は気にしない?
-
[解決済み] Wolfram AlphaとMATLABでは伝達関数のプロットが異なる
-
[解決済み] Matlab - rectangle関数を使用せずに矩形をプロットする
-
[解決済み] Matlabでのリッジ回帰とOLS回帰
-
[解決済み] Matlabで'symfun'によって記号関数の微分を実装するには?
-
[解決済み] MATLABでヒストグラムを正規化する方法は?
-
[解決済み] Matlabでベクトルを表示(印刷)するには?