divide matrix into equal parts of 7 columns
3 次查看(过去 30 天)
显示 更早的评论
Hello,
i am trying to split a matrix of 999999x1 into pieces of 7x1 I am trying to use mat2cell but everytime it failed?
I found something on the matlab forum like this: Y = mat2cell(p, repmat(7,[1 size(p,1)/7]), repmat(10,[1 size(p,2)/7])); but this is not working..
0 个评论
采纳的回答
Star Strider
2017-6-13
If you want to use mat2cell, this works:
v = randi(99, 999999, 1); % Create Data
v_split = mat2cell(v, 7*ones(999999/7,1), 1); % Split Into (7x1) Cells
The mat2cell function wants as its arguments dimensions for each cell. Here, there are 142857 cells, each (7x1), specified by the ‘7*ones(999999/7,1)’ argument. Your vector is a column vector, so you need only specify 1 for the number of columns for all of them.
0 个评论
更多回答(1 个)
David Goodmanson
2017-6-12
编辑:David Goodmanson
2017-6-13
Hi soepblik,
Is the first piece entries 1:7 in your matrix, the second piece entries 8:14, etc? If that's not the case then you can ignore what follows, but if it is then you can simply reshape your array into a matrix of 7 rows and 142857 columns:
A = reshape(matrix,7,142857);
compared to accessing cells, you can access each piece with A( : ,column_number)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!