Effacer les filtres
Effacer les filtres

is it possible to get index of reshaped matrix

15 vues (au cours des 30 derniers jours)
Elysi Cochin
Elysi Cochin le 26 Fév 2014
Commenté : Elysi Cochin le 1 Mar 2014
i have a matrix A of size 1*120 and reshaped it to matrix B of size 10*12..... is it possible to get the index values of where the value of A has gone to B in a matrix C of size 1*120....

Réponse acceptée

Iain
Iain le 26 Fév 2014
The functions ind2sub and sub2ind, give you a more general way of doing it, which expands to more dimensions...
  2 commentaires
Elysi Cochin
Elysi Cochin le 26 Fév 2014
if i have a matrix
A = [22 33 44 55 66 77]
and i reshape it to
B = [22 44 66
33 55 77]
i want C = [1 2 1 2 1 2].... how to do it...
Iain
Iain le 26 Fév 2014
Modifié(e) : Iain le 26 Fév 2014
temporary = 1:numel(A);
C = mod(temporary ,size(B,1))+1;

Connectez-vous pour commenter.

Plus de réponses (3)

Jos (10584)
Jos (10584) le 26 Fév 2014
A short story of LINEAR vs. SUB indexing:
A = [22 33 44 55 66 77]
B = reshape(A,2,[])
numel(A),numel(B) % the same number of elements
size(A), size(B) % but with different sizes
% However, reshaping does not change the intrinsic order of the elements inside an array.
% This intrinsic order is used by linear indexing:
LinIdx = 3 % any value between 1 and numel(A)
A(LinIdx), B(LinIdx)
% Linear indices correspond to different rows and columns for A and B,
% due to the different shapes between A and B:
LIDX = 1:numel(A) % all linear indices
[rowA, colA] = ind2sub(size(A), LIDX)
[rowB, colB] = ind2sub(size(B), LIDX)
rowB is what you call C

Mischa Kim
Mischa Kim le 26 Fév 2014
Modifié(e) : Mischa Kim le 26 Fév 2014
This would do
An = 1:length(A);
nr = 10;
C(:,1) = floor((An-1)/nr) + 1;
C(:,2) = An' - nr*(C(:,1)-1);
where the first and second cols of C are the column and row indices.

Sagar Damle
Sagar Damle le 27 Fév 2014
C and C1,both are one and the same thing.
A = [22 33 44 55 66 77]
B = reshape(A,2,[])
temp = 1:size(B,1)
C = repmat(temp,1,size(B,2))
C1 = kron( ones(1,size(B,2)) , temp )
  1 commentaire
Elysi Cochin
Elysi Cochin le 1 Mar 2014
thank you all for the answers.....

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by