Matlab中mat2cell的使用


  怎样用mat2cell将一个100*100的矩阵分成10个10*100的矩阵?
  根据帮助中 c = mat2cell(x,m,n)应该这样写
  mat2cell(x,[10 10 10 10 10 10 10 10 10 10],[100])

  能不能有简便的办法?

  假如要分成20个5*100的这样写会很笨的。

  m=5*ones(1,20);
  c = mat2cell(x,m,100)

  我原来理解是第二个参数是行数,第三个是列数,其实并不是这样,b是10*1的cell,每个cell是10*100的double。

 

K>> a = rand(100,100);
K>> b = mat2cell(a,ones(1,10),[100]);
错误使用 mat2cell (line 106)
输入参数 D1 至 D2 的总和必须为输入矩阵大小 [100  100] 的每个维度。
 
K>> b = mat2cell(a,10*ones(1,10),[100]);

 

  .........................

  b是一个1*50的cell,每个cell是64*1的double。

K>> a = rand(64,50);
K>> b = mat2cell(a,64,ones(1,50));

 

posted @ 2015-07-14 17:48  加拿大小哥哥  阅读(21209)  评论(3编辑  收藏  举报