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

配列の中から任意の複数の要素へアクセスしたいと思っています。
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 Exchange에서 cell 配列에 대해 자세히 알아보기

태그

질문:

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!