Effacer les filtres
Effacer les filtres

Permuting elements of matrix with a polynomial (3x^3 + 6x^2 + 7x) mod 9

2 vues (au cours des 30 derniers jours)
Neha W
Neha W le 9 Mar 2017
Commenté : Neha W le 10 Mar 2017
A = [1 2 3; 4 5 6; 7 8 9] %original position of matrix elements
[r c] = size(A); N = 9;
B = reshape(A,1,r*c); % B = [1 4 7 2 5 8 3 6 9]
I have obtained a permute vector after calculating (3x^3 + 6x^2 + 7x) mod 9 as:
per_vec = [7 8 3 1 2 6 4 5 9]; %permute vector
result = B(per_vec) %This gives me a row vector as [3 6 7 1 4 8 2 5 9]
Could you please help me understand what does B(per_vec) does?

Réponse acceptée

KSSV
KSSV le 9 Mar 2017
Modifié(e) : KSSV le 9 Mar 2017
per_vec gives you the positions/ indices. When you use B(per_vec), it arranges the elements of B as given in per_vec. You can see it yourself by comparing B and B(per_vec)
  2 commentaires
Neha W
Neha W le 9 Mar 2017
Thank you Sir. I will got through it.
Neha W
Neha W le 10 Mar 2017
Sir, I got how elements got arranged acc to per_vec. Now to get original matrix A back.
dec=[3 6 7 1 4 8 2 5 9]; dec(per_vec)=dec; is implemented.
Why dec(per_vec)is written on the RHS side? Is there any logic behind it?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Operating on Diagonal Matrices 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!

Translated by