フィルターのクリア

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

2 ビュー (過去 30 日間)
Neha W
Neha W 2017 年 3 月 9 日
コメント済み: Neha W 2017 年 3 月 10 日
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?

採用された回答

KSSV
KSSV 2017 年 3 月 9 日
編集済み: KSSV 2017 年 3 月 9 日
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 件のコメント
Neha W
Neha W 2017 年 3 月 9 日
Thank you Sir. I will got through it.
Neha W
Neha W 2017 年 3 月 10 日
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?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOperating on Diagonal Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by