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

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

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!