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

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

 Risposta accettata

Musashi Ito
Musashi Ito il 29 Dic 2019

5 voti

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 Commenti

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

Accedi per commentare.

Più risposte (1)

Saito
Saito il 29 Dic 2019

0 voti

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

Categorie

Prodotti

Release

R2019a

Richiesto:

il 29 Dic 2019

Risposto:

il 29 Dic 2019

Community Treasure Hunt

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

Start Hunting!