我有两个单元格数组m和n:
n = {'1', '2'; '5', '6'},
m ={'1', '2'; '3', '4'}.
我需要创建一个独特的单元格数组C = {'1', '2'; '3', '4'; '5', '6'}
。
我怎样才能有效地做到这一点?
答案 0 :(得分:0)
代码应该是自我解释的:
create table myNewTable as
(select t2.name as agent,t1.* from
(select s.year, s.wk, t.* from sales s
join transaction t
on s.id = t.id) t1,
(select s.year, s.wk, t.* from sales s
join transaction t
on s.id = t.id) t2
where t1.id=t2.id
and
t1.name<>t2.name)
答案 1 :(得分:0)
即使认为@ CST-Link答案是正确的,我想添加自己的,它使用matlab中功能非常强大的函数unique
:
n = {'1' '2'; '3' '4'};
m = {'1' '2'; '5' '6'};
C = num2cell(unique([cell2mat(n);cell2mat(m)],'rows'));
注意,比较大的输入单元格,@ CST-Link的答案可能会更快,因为为了在行上使用unique
而被迫使用双重转换