我可以使用如下代码解决该问题:
cell_mat = {[-1,-2,3,4]; [1,2]; [5,6,7]}; output_mat = zeros(length(cell_mat), max(cellfun(@length, cell_mat))); for i = 1:length(cell_mat) curr_row = cell_mat{i}; if iscell(curr_row) curr_row = cell2mat(curr_row); end unique_mask = true(size(curr_row)); for j = 1:length(curr_row) if ismember(curr_row(j), curr_row(j+1:end)) unique_mask(j) = false; end end curr_row = curr_row(unique_mask); output_mat(i,1:length(curr_row)) = curr_row; end output_mat
这个代码的思路是使用一个新的矩阵来存放输出结果,然后遍历输入的cell数组,对于每一个元素,先检查它是否是一个cell,如果是的话,使用cell2mat函数将其转换成一个矩阵。然后,对于每一行,找到其中唯一的元素,并在新的输出矩阵中存储这些元素。最后输出新的矩阵即可。