How to split cell array made by matrix?

3 views (last 30 days)
Hi everyone, i have a cell array made by n matrix ('n' is an input from the user).Every matrix is 3x3. I need to split this cell array in two halfs, how can i do it? I have tried in this way
num=1:1:N_ply;
lx = (length(num));
half = ceil(lx/2);
Q1 = Qk{num(1:half)}
where N_ply=8, and Qk is the cell array
  2 Comments
Adam Danz
Adam Danz on 14 May 2021
Edited: Adam Danz on 14 May 2021
Since a 3x3 matrix cannot be split into equal halves by columns or rows you'll need to provide more information. Are you describing triangular halves?
Giuseppe Marino
Giuseppe Marino on 14 May 2021
Edited: Giuseppe Marino on 14 May 2021
My Qk is an 1*8 cell, where every cell is a 3x3 matrix. But the number 8 could change, it could be 10,12, 6 or every even number. If you need more info, please tell me.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 14 May 2021
% c is a 1xn cell array where n is an even number
n = numel(c);
c1 = c(1:n/2);
c2 = c(n/2+1:end);
  1 Comment
Giuseppe Marino
Giuseppe Marino on 14 May 2021
Thank you! I really appreciate it,I was making a mountain out of a molehill!

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!