ある特定の数値のある行列の位置を検出

例えば、列に1 3 5 7 2 3 5 9 4 6 11 4 12 2 13 などという数値がある中で、3 がある列の位置を検出するにはどうしたら良いですか?

 Accepted Answer

Musashi Ito
Musashi Ito on 29 Dec 2019

5 votes

string 配列でテキスト表現に変換して 3 が含まれる列の位置が検出できそうですが、いかがでしょうか。
a = [1 3 5 7 2 3 5 9 4 6 11 4 12 2 13]
% string 配列に変換
a_str = string(a)
% contains 関数で 3 を含む列の位置を検出。 0,1 の論理インデックスとして取得できる。
idx_3 = contains(a_str,"3")
% 数値配列 a から 3 の列だけを抽出
a_3 = a(idx_3)

2 Comments

Kenta
Kenta on 29 Dec 2019
a=[1 3 5 7 2 3 5 9 4 6 11 4 12 2 13];
find(a==3)
こんにちは。こちらでもよさそうです。
Musashi Ito
Musashi Ito on 29 Dec 2019
すみません、3 が含まれる数字(3,13 など) の列の位置を検出する場合は、最初のプログラムです。3 と等しい列の位置を検出する場合は、 Kenta さんがコメントしたプログラムです。

Sign in to comment.

More Answers (1)

Saito
Saito on 29 Dec 2019

0 votes

お二人とも有難うございます。解決しました。

Categories

Products

Release

R2019a

Asked:

on 29 Dec 2019

Answered:

on 29 Dec 2019

Community Treasure Hunt

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

Start Hunting!