if i have this matrix
M =[ 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1
1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1
1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1
0 1 0 1 1 1 0 0 1 0 0 1 1 1 1 1
0 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1
0 0 1 1 0 1 1 0 1 1 1 0 1 0 0 1
0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 ]
with this code
[n,m]=size(M);
c1=cell(n,m);
maxc=1;
for k=1:m
a=[0 M(:,k)' 0];
ii1=strfind(a,[0 1]);
ii2=strfind(a,[1 0]);
maxc=max(maxc,numel(ii1));
c1{k}=(ii2-ii1)';
end
M_column=cell2mat(cellfun(@(x)[zeros(1,maxc-numel(x));x],c1,'un',0));
  • when i run this code ,, the error occurs in M_column
how i can solve it????

 採用された回答

MHN
MHN 2016 年 4 月 5 日
編集済み: MHN 2016 年 4 月 5 日

0 投票

Your vectors in c1 are m*1 matrices, so you should make n*1 zeros matrices instead of 1*n.
M_column=cell2mat(cellfun(@(x)[zeros(maxc-numel(x),1);x],c1,'un',0));

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

タグ

質問済み:

2016 年 4 月 5 日

編集済み:

MHN
2016 年 4 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by