dividing a matrix into equal submatrices

1 Ansicht (letzte 30 Tage)
Matt
Matt am 3 Mai 2012
Hello all,
I need to take a matrix that is one column of non integers and divide it into 10 equal length matrices that are 1/10 of the original, but still one column, for analysis. mat2cell doesn't work on non integers and nothing I have been searching in has given an answer. I'm fairly new to MATLAB, so please be kind if this is a fairly simple request. Any help would be awesome.
Thanks, Matt

Akzeptierte Antwort

Kye Taylor
Kye Taylor am 3 Mai 2012
I assume that your vector, x, is n-by-1 where n is divisible by 10.
Try
xIntoTenPieces = reshape(x,[],10);
which produces a matrix, each column is is 1/10 of the original vector x. You can access the kth column with the syntax
xIntoTenPieces(:,k)
  2 Kommentare
Matt
Matt am 3 Mai 2012
Exactly what I wanted to do. Thanks so much!
Kye Taylor
Kye Taylor am 3 Mai 2012
My pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 3 Mai 2012
mat2cell() works fine for any numeric array.
L = size(x,1);
L10 = L / 10;
mat2cell(x, repmat(L10,1,10), 1)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by