初めて0が現れる行数を特定するには
Show older comments
0と1が並ぶ行列(500x1)があります。 行列中に初めて0が現れる行数を特定する、行数をスカラーとして返す方法はありますか?
1 Comment
Yoshio
on 12 Nov 2018
forや whileを使う基本的なアルゴリズムは大丈夫ですか?
Answers (2)
Kei Otsuka
on 10 Nov 2018
find関数を利用する方法は如何でしょうか。
% 適当に行列作成
data = round(rand(500, 1));
% 論理反転した後、find関数で非ゼロ要素を検索
idx = find(~data);
% 最小値(=初めて0が出現した行数)を求める
min(idx)
1 Comment
Yoshio
on 12 Nov 2018
[~,ind] = min(data) でも行けそうです。0がたまたま最小値なのと、minの仕様で。
"最小値が複数回発生する場合、min は、最初に発生した最小値に対応するインデックスを返します。"
mizu
on 11 Nov 2018
1 vote
Categories
Find more on 論理演算 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!