如何解决matlab中的horzcat错误?

时间:2015-04-27 18:17:33

标签: matlab cell-array

我使用单元阵列对二维二进制矩阵进行了一些处理,以基于相等的元素值存储信息。我有15个单元格,其中两个如下:

similarity{1} = [2 5 8 10 12 13 18 19 20 21 22 23];
similarity{2} = [2 5 8  13 18 19 20 21 22 23];

... similarity{n}中的similarity{1,..n}=n值。

当我运行以下代码时

similarity = cellfun(@unique, similarity, 'UniformOutput', false);
numsInCell = unique([similarity{:}]);                  % numbers in cell, sorted

for n = numsInCell % loop over numbers in cell
    lSetIs1 = cellfun(@numel,similarity) == 1;         % length of set is 1
     nInSet = cellfun(@(set) any(set==n), similarity); % set contains n
     nIsUnique = sum(nInSet(:))==1;                    % n occurs once
     condition = ~nIsUnique & ~any(nInSet(:) & lSetIs1(:));

     % if false for all sets...
     if condition
         similarity = cellfun(@(set) set(set~=n), similarity, 'UniformOutput',false); 
     end
end 

我收到以下错误

  

使用horzcat时出错   连接的矩阵的尺寸不一致。

  

@(set)any(set == n)

中的错误

任何人都可以帮我确定我犯错的地方吗?

0 个答案:

没有答案