Effacer les filtres
Effacer les filtres

Storage elements from matrix in other one, with indexing.

2 vues (au cours des 30 derniers jours)
Isai Fernandez
Isai Fernandez le 10 Mai 2021
Commenté : KSSV le 10 Mai 2021
I want to storage information from one matrix to another. In this example, from A matrix I have to extract to storage in B matrix. The solution should be:
B = [6 4
6 8]
I tried so hard, I don't get it.
Please help me.
A = [
8 3 0 2
9 6 1 4
10 6 2 1
1 6 2 8
];
a=2;
b=4;
B = zeros(2)
m=1
while m<=2
k= 1
while k<=2
i=1
while i<=4
if i==a
n1 = i
if n1<=2
j = 1
while j<=4
if j==b
n2=j
if n2<=2
B(m,k) = B(m,k)+A(n1,n2)
%B(m,k) = B(m,k)+A(n1,n2)
end
end
j = j+1
end
end
end
i = i+1
end
k = k+1
end
m=m+1
end
  2 commentaires
KSSV
KSSV le 10 Mai 2021
What output you expect?
Isai Fernandez
Isai Fernandez le 10 Mai 2021
B matrix with elements from A with index a and b.

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 10 Mai 2021
A = [8 3 0 2
9 6 1 4
10 6 2 1
1 6 2 8
];
a=2;
b=4;
[X,Y] = meshgrid([a b],[a b]) ;
id = sub2ind(size(A),Y,X) ;
B = A(id) ;
B
B = 2×2
6 4 6 8
  3 commentaires
KSSV
KSSV le 10 Mai 2021
A = [8 3 0 2
9 6 1 4
10 6 2 1
1 6 2 8
];
a=2;
b=4;
[X,Y] = meshgrid([a b],[a b]) ;
[m,n] = size(X) ;
B = zeros(m,n) ;
for i = 1:m
for j = 1:n
B(i,j) = A(Y(i,j),X(i,j)) ;
end
end
Loop will be slower....the solution shown first will be fast.
KSSV
KSSV le 10 Mai 2021
The answer is good.... You use that answer.

Connectez-vous pour commenter.

Plus de réponses (1)

Stephen23
Stephen23 le 10 Mai 2021
The MATLAB approach:
A = [8,3,0,2;9,6,1,4;10,6,2,1;1,6,2,8]
A = 4×4
8 3 0 2 9 6 1 4 10 6 2 1 1 6 2 8
v = [2,4];
out = A(v,v)
out = 2×2
6 4 6 8
  2 commentaires
Isai Fernandez
Isai Fernandez le 10 Mai 2021
Wow, I have to figure out to implement this short code.
KSSV
KSSV le 10 Mai 2021
I missed the common sense....

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by