単一のインデックスによる、複数のインデックス付け

配列の中から任意の複数の要素へアクセスしたいと思っています。
A = [12 36 91; 45 29 48; 33 25 11]
A(6) = 25
ですが、例えば、A(1)とA(6)、A(9)へアクセスしたいときは、どのようにしたら良いでしょうか。
実際はかなり多くの要素を持つ配列から、規則性なく複数の要素へアクセスしたいと思っています。
基本的な質問で恐縮ですが、お教えください。

 採用された回答

Kenta
Kenta 2020 年 1 月 21 日

2 投票

A = [12 36 91; 45 29 48; 33 25 11];
A(3)
A(7)
A(9)
idx=[3 7 9];
A(idx)
idx2=find(mod(A,3)==0);
A(idx2)
こんにちは、かっこの中に、指定する値をもつ行列を入力すればできます。
今後は複数の要素にアクセスしたいとのことですが、例えば、Aの中で3の倍数のみを取り出したい場合、
下の2行になります。

6 件のコメント

Jun
Jun 2020 年 1 月 21 日
ありがとうございました。解決できました。
Jun
Jun 2020 年 1 月 21 日
「この回答を採用」をクリックしましたが、エラーが出るので時間をあけてから対応させていただきます。
Kenta
Kenta 2020 年 1 月 21 日
丁寧にありがとうございます。はいまたのちほどお願いいたします。
また不明点があれば、ここでご質問ください。
Jun
Jun 2020 年 1 月 21 日
さらにもう一つ、ご教授ください。
ちなみに、行番号・列番号の指定で複数の要素を指定することができますか?
Kenta
Kenta 2020 年 1 月 21 日
A = [12 36 91; 45 29 48; 33 25 11]
sub=[1 2;
2 2;
3 1];
A(sub2ind(size(A),sub(:,1), sub(:,2)))
これでできます!
Jun
Jun 2020 年 1 月 21 日
ありがとうございました。

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchangecell 配列 についてさらに検索

タグ

質問済み:

Jun
2020 年 1 月 21 日

コメント済み:

Jun
2020 年 1 月 21 日

Community Treasure Hunt

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

Start Hunting!