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

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

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 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 Comments
Atsushi Ueno
Atsushi Ueno on 29 Nov 2022
> アドバイスが欲しいです
MATLABで配列(ベクトルまたは行列と呼ぶ)を扱う場合、for文で各要素にアクセスする必要は必ずしも必要ありません。むしろそうでない場合の方が多く、多くの場面でfor文を取り除く事が出来ます。
Kazumasa Hashiba
Kazumasa Hashiba on 30 Nov 2022
ご回答ありがとうございます。
こちらを参考にして、コードを作成してみます。
丁寧に解説して頂き、誠にありがとうございました。

Sign in to comment.

More Answers (0)

Categories

Find more on Matrix Indexing in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!