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

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

 Akzeptierte Antwort

Kenta
Kenta am 21 Jan. 2020

2 Stimmen

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 Kommentare

Jun
Jun am 21 Jan. 2020
ありがとうございました。解決できました。
Jun
Jun am 21 Jan. 2020
「この回答を採用」をクリックしましたが、エラーが出るので時間をあけてから対応させていただきます。
Kenta
Kenta am 21 Jan. 2020
丁寧にありがとうございます。はいまたのちほどお願いいたします。
また不明点があれば、ここでご質問ください。
Jun
Jun am 21 Jan. 2020
さらにもう一つ、ご教授ください。
ちなみに、行番号・列番号の指定で複数の要素を指定することができますか?
Kenta
Kenta am 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 am 21 Jan. 2020
ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Gefragt:

Jun
am 21 Jan. 2020

Kommentiert:

Jun
am 21 Jan. 2020

Community Treasure Hunt

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

Start Hunting!