【发布时间】:2014-11-03 19:10:51
【问题描述】:
我有像下面这样的 sn-p 数组值:
a = { [1 2 4]; [3 5 6 7]; [1 2 4]; [3 5 6 7]; [8 9]; []};
我正在尝试使用 Matlab 来获取这样的数组值
a = { [1 2 4]; [3 5 6 7];[8 9]};
【问题讨论】:
标签: matlab cell-array
我有像下面这样的 sn-p 数组值:
a = { [1 2 4]; [3 5 6 7]; [1 2 4]; [3 5 6 7]; [8 9]; []};
我正在尝试使用 Matlab 来获取这样的数组值
a = { [1 2 4]; [3 5 6 7];[8 9]};
【问题讨论】:
标签: matlab cell-array
unique(cellfun(@(x)(mat2str(x)),a,'uniformoutput',false))
实际上可以找到here。
从技术上讲,最后的空单元格也是唯一的,也许你想像这样单独删除它:
a(cellfun(@isempty,a)) = []
目前你得到字符串作为输出,可以这样解决:
[~, idx] = unique(cellfun(@(x)(mat2str(x)),a,'uniformoutput',false))
a(idx)
我个人认为这比应该的要难。
你可以像这样得到你想要的输出
a(cellfun(@isempty,a)) = []
[~, idx] = unique(cellfun(@(x)(mat2str(x)),a,'uniformoutput',false))
a(idx)
【讨论】: