uitable matlab中的独特功能

unique function in uitable matlab

我有程序在 uitable 中显示数据,使用独特的功能:

data_plat = load('Data_Plat.mat');
Database_All = data_plat.Database_All;
data2 = table2cell(Database_All(strcmpi(Database_All.Plat, final_output), ...
    {'Plat', 'Nama', 'Jurusan', 'Status'}));
data2 = [get(handles.uitable1, 'Data'); data2];
[~,idx]=unique(cell2mat(data2),'rows');
unique_data2 =  data2(idx,:);
set(handles.uitable1, 'Data', unique_data2); 

final_output 是程序计算的一个数字,由于程序正在处理视频,它总是会发生变化。

启动时正常,但当第二个数据输入(final_output)时,出现错误信息:

Error using cat
Dimensions of matrices being concatenated are not consistent.   
Error in cell2mat (line 78) m = cat(1,m{:});      
Error in mpengujianbmpengujianbplay_Callback (line 222)
T=cell2mat(data2);

当我 运行 这段代码没有独特的功能时,它运行良好(没有错误消息)但总是在 table 中复制所以我附加独特的功能来解决这个问题,问题是我必须做什么做,我的代码有问题(独特的功能)或添加另一个功能来解决我的问题(在 table 中复制数据)?

我已经解决了这个问题,错误是因为我转换为mat,这就是为什么连接的矩阵维度不一致的原因。所以代码是

%% Database
data_plat = load('Data_PlatQ.mat');
Database_All = data_plat.Database_All;
data2 = table2cell(Database_All(strcmpi(Database_All.Plat, final_output), ...
    {'Plat', 'Nama', 'Jurusan', 'Status'}));
data2 = [get(handles.uitable1, 'Data'); data2];
    [~,idx]=unique(cell2table(data2),'rows');
    unique_data2 =  data2(idx,:);    
    set(handles.uitable1, 'Data', unique_data2);