フィルターのクリア

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

93 ビュー (過去 30 日間)
Saito
Saito 2019 年 12 月 29 日
回答済み: Saito 2019 年 12 月 29 日
例えば、列に1 3 5 7 2 3 5 9 4 6 11 4 12 2 13 などという数値がある中で、3 がある列の位置を検出するにはどうしたら良いですか?

採用された回答

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

サインインしてコメントする。

その他の回答 (1 件)

Saito
Saito 2019 年 12 月 29 日
お二人とも有難うございます。解決しました。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!