MATLAB Answers

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

3 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)

Tags

Community Treasure Hunt

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

Start Hunting!