Effacer les filtres
Effacer les filtres

指定した座標の値を違う変数に格納する方法

12 vues (au cours des 30 derniers jours)
翔 池田
翔 池田 le 22 Avr 2021
Modifié(e) : Hernia Baby le 22 Avr 2021
たとえば,
A=[1 3 ; 1 4 ; 1 7 ; 5 7]
という配列があり,1列目を「行」,2列目を「列」としています.
Bという変数が10×10の正方行列を持っていたとして,
Bが持つAで指定した行列の位置の値を別の変数Zに格納する方法はないでしょうか?
尚,ループなしという条件になります.お手数ですがよろしくお願いいたします.

Réponse acceptée

Hernia Baby
Hernia Baby le 22 Avr 2021
Modifié(e) : Hernia Baby le 22 Avr 2021
Aを添字から線形インデックスへ変換すれば可能です。
まずは前準備し、10×10の行列を作ります。
A = [1 3 ; 1 4 ; 1 7 ; 5 7];
B = reshape([1:100],[10,10])
B =
1 11 21 31 41 51 61 71 81 91
2 12 22 32 42 52 62 72 82 92
3 13 23 33 43 53 63 73 83 93
4 14 24 34 44 54 64 74 84 94
5 15 25 35 45 55 65 75 85 95
6 16 26 36 46 56 66 76 86 96
7 17 27 37 47 57 67 77 87 97
8 18 28 38 48 58 68 78 88 98
9 19 29 39 49 59 69 79 89 99
10 20 30 40 50 60 70 80 90 100
-------------------
Aを添字から線形インデックスへ変換します。
As = sub2ind(size(B),A(:,1),A(:,2))
As =
21
31
61
65
-------------------
As番目のBを抜き出し、Cに格納します。
C = B(As)
C =
21
31
61
65
----------------------------------------
sub2indはこちら

Plus de réponses (0)

Catégories

En savoir plus sur 行列および配列 dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!