Info
Questa domanda è chiusa. Riaprila per modificarla o per rispondere.
How do you rearragne a matrix?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I am trying to vectorise a matrix of by using the data:
AN=[0,0.500000000000000,0,0.500000000000000,0.500000000000000,0,0,0.500000000000000,0,0.500000000000000,1,0.500000000000000,0,0.500000000000000,0.500000000000000,0.500000000000000,1,0.500000000000000,0.500000000000000,1,1,0.500000000000000,1,1;0,0,0.500000000000000,0,0.500000000000000,0.500000000000000,0.500000000000000,0.500000000000000,1,0.500000000000000,0.500000000000000,1,1,0.500000000000000,1,0,0,0.500000000000000,1,0.500000000000000,1,0.500000000000000,0,0.500000000000000]
Then I want to produce a 2x16 matrix where by
TEMP = [AN(1,3:3:end)-AN(1,1:3:end),AN(2,3:3:end)-AN(2,1:3:end);AN(1,2:3:end)-AN(1,1:3:end),AN(2,2:3:end)-AN(2,1:3:end)]
gives me a 2x16 matrix with the first two rows (1:2,:) being matrix 1 and the next set (3:4,:) being matrix 2 and so on. I have tried reshape but have failed to get this working. I want something like this, where 1) is the matrix number:
0 0.5
0.5 0
-0.5 0.5
0 0.5
. .
. .
. .
0.5 0
0.5 -0.5
Any advice would be appreciated. I am trying to avoid for loops for speed as my matricies become extremely large.
0 Commenti
Risposte (1)
Athul Prakash
il 19 Ago 2019
After the 2 lines of code above, use
res = reshape(TEMP, [16 2])
See the documentation here:
(The code shown above produces the exact same output you mentioned in your question.)
0 Commenti
Questa domanda è chiusa.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!