MATLAB Answers

0

初めて0が現れる行数を特定するには

Asked by yu tabata on 10 Nov 2018
Latest activity Commented on by Yoshio
on 12 Nov 2018
0と1が並ぶ行列(500x1)があります。 行列中に初めて0が現れる行数を特定する、行数をスカラーとして返す方法はありますか?

  1 Comment

Yoshio
on 12 Nov 2018
forや whileを使う基本的なアルゴリズムは大丈夫ですか?

Sign in to comment.

2 Answers

Kei Otsuka
Answer by 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 は、最初に発生した最小値に対応するインデックスを返します。"

Sign in to comment.


mizu
Answer by mizu
on 11 Nov 2018

直接の回答ではありませんが、無料のオンラインコースをやると、基礎的な操作がわかるかと https://matlabacademy.mathworks.com/jp

  0 Comments

Sign in to comment.