using mat2cell

3 views (last 30 days)
Sebastian Daneli
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.
  1 Comment
Stephen23
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.

Sign in to comment.

Answers (2)

Stephen23
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))
  3 Comments
Stephen23
Stephen23 on 11 Jan 2022
"I've added more info that explains what I need to be able to do later on."
What you added is an entirely different question, which is answered by using indexing:

Sign in to comment.


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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by