MATLAB Answers

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

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

  0 Comments

Sign in to comment.

Accepted Answer

Kenta
Kenta on 21 Jan 2020
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 Comments

Show 3 older comments
Jun
Jun on 21 Jan 2020
さらにもう一つ、ご教授ください。
ちなみに、行番号・列番号の指定で複数の要素を指定することができますか?
Kenta
Kenta on 21 Jan 2020
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 on 21 Jan 2020
ありがとうございました。

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Tags