# using mat2cell

3 views (last 30 days)
Sebastian Daneli on 11 Jan 2022
Edited: Stephen23 on 11 Jan 2022
I'm sorry for asking this question again, but I really, really don't understand how mat2cell works. I have a matrix of size 1001*10, and I need it to be divided into 10 cells, each containing 1001 datapoints. EDIT: I also need to manipulate the data later on, so I need to be able to and new sizes of the vectors back into the cell. I.e., taking a vector of 1001 datapionts out, and adding a vector of a different size back in to the cell.
Stephen23 on 11 Jan 2022
" taking a vector of 1001 datapionts out, and adding a vector of a different size back in to the cell."
What does that have to do with your original question?
Creating a cell array is a totally different thing to using indexing to access the content of a cell array:
If ou want to get those vectors out and put other vectors back in then use indexing. Indexing is how MATLAB arrays accessed, whatever class they might be. But such indexing has absolutely nothing to do with MAT2CELL.

Stephen23 on 11 Jan 2022
Edited: Stephen23 on 11 Jan 2022
Using NUM2CELL would be simpler:
C = num2cell(M,1)
But if you insist on using MAT2CELL:
C = mat2cell(M,1001,ones(1,10))
Stephen23 on 11 Jan 2022
What you added is an entirely different question, which is answered by using indexing:

Torsten on 11 Jan 2022
C = mat2cell(M.',ones(1,10)); % M is your 1001x10 numerical matrix