如何在matlab中按行将2-d矩阵转换为单元格数组?

时间:2015-08-04 15:15:13

标签: matlab

我有两个单元格数组m和n:

n = {'1', '2'; '5', '6'},
 m ={'1', '2'; '3', '4'}. 

我需要创建一个独特的单元格数组C = {'1', '2'; '3', '4'; '5', '6'}。 我怎样才能有效地做到这一点?

2 个答案:

答案 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而被迫使用双重转换