配列が空になるまで試​行を繰り返すやり方が​分かりません

10 visualizzazioni (ultimi 30 giorni)
Kazumasa Hashiba
Kazumasa Hashiba il 29 Nov 2022
Commentato: Kazumasa Hashiba il 30 Nov 2022
配列情報を参照して、その配列からデータを取り出し、
配列が空になるまで試行を繰り返す、コードを作りたいのですが
アドバイスが欲しいです。
<イメージ>
まず A という 100000×6 の配列があるとして、
その A から B=A(1,:) の様にして情報を取り出し、A(1,:) を空配列にします。
(この場合は、 A(1,:)=[] で空配列に置き換えました。)
そして、これを A が空になるまで行うようにしたいというものです。

Risposta accettata

Atsushi Ueno
Atsushi Ueno il 29 Nov 2022
A = zeros(100000,6); % まず A という 100000×6 の配列があるとして、
counter = 0;
while(~isempty(A))
B = A(1,:); % その A から B=A(1,:) の様にして情報を取り出し、A(1,:) を空配列にします。
A(1,:) = []; % (この場合は、 A(1,:)=[] で空配列に置き換えました。)
counter = counter + 1;
end % そして、これを A が空になるまで行うようにしたいというものです。
A % A が空になったか確認
A = 0×6 empty double matrix
counter % きっちり100000回行われたか確認
counter = 100000
  3 Commenti
Atsushi Ueno
Atsushi Ueno il 29 Nov 2022
> アドバイスが欲しいです
MATLABで配列(ベクトルまたは行列と呼ぶ)を扱う場合、for文で各要素にアクセスする必要は必ずしも必要ありません。むしろそうでない場合の方が多く、多くの場面でfor文を取り除く事が出来ます。
Kazumasa Hashiba
Kazumasa Hashiba il 30 Nov 2022
ご回答ありがとうございます。
こちらを参考にして、コードを作成してみます。
丁寧に解説して頂き、誠にありがとうございました。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Matrix Indexing in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!