help with matrix and how to extract rows

2 visualizzazioni (ultimi 30 giorni)
Hi, would like to manipulate this matrix to get 6x6 matrices.
i like to make the first 6 rows to be the new first row, then 7 to 12 to be the second row and then 13to 19 to be the third row and so one. how can i manipulate the, it should look like this :

Risposta accettata

Ameer Hamza
Ameer Hamza il 30 Set 2020
Modificato: Ameer Hamza il 30 Set 2020
You can use reshape()
reshape(Radiatondamping(1,:), 6, 6).'
the above will convert first column to 6x6 matrix. To convert all columns and combine them in 3D matrix
permute(reshape(Radiatondamping.', 6, 6, []), [2 1 3])
  6 Commenti
Jama Ali
Jama Ali il 30 Set 2020
Thank you for your help. It made my school project much easier.
Ameer Hamza
Ameer Hamza il 1 Ott 2020
I am glad to be of help!

Accedi per commentare.

Più risposte (2)

madhan ravi
madhan ravi il 30 Set 2020
Wanted = mat2cell(matrix, repelem(6, numel(matrix)/36)) % not tested
celldisp(Wanted)

Image Analyst
Image Analyst il 30 Set 2020
Modificato: Image Analyst il 30 Set 2020
Here's one way (tested on made up "data"):
data = randi(99, 12, 6)
[rows, columns] = size(data)
newRows = rows / 6 % This better be an integer!!!
d = data'
Radiatondamping = reshape(d(:), [], newRows)'

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by