如何通过一组表来排序并删除重复项?

3次观点(过去30天)
Leo de Vries.
Leo de Vries. 2011年5月15日
回答: 图像分析师 2011年5月15日
我正在编写输出数千表的代码。表将具有不同的大小(所有3列,但如果有帮助)。如何通过这些和丢弃重复来排序和丢弃重复?
1条评论
沃尔特罗伯森
沃尔特罗伯森 2011年5月15日
这些是数字矩阵吗?它们是table()对象吗?
您是否正在寻找相同的矩阵?您是否正在寻找相同的条目?

登录评论。

答案(2)

沃尔特罗伯森
沃尔特罗伯森 2011年5月15日
isequal()可用于测试两个表()是否具有相同的内容和相同的变量名称。
为了效率,您可以根据它们是否具有相同的大小(),然后只比较相同大小的表。
将所有表放入单元格中以更轻松地处理它们。

图像分析师
图像分析师 2011年5月15日
由于您(不幸的是)忘记使用PaperClip图标将您的表格附加到.mat文件中,但我打赌它涉及isequal()函数。如果您需要更多帮助,请附上您的表。现在,让我们说你发现你的500个表与第137表完全相同。你想删除哪一个?表格都有不同的名称吗?
如果Isequal(表500,表格137)
清除('table500');%或从内存中删除的任何一个。
结尾
您的数千张表如何存储?在单元格阵列中?
ItemStodeLete = false(1,长度(CA));
为了k=1:长度(ca)
t1=ca{k};%从单元阵列中提取kth表。
为了K2 = K + 1:长度(CA)
t2 = ca {k2}%从单元阵列中提取k2th表。
如果Isequal(T1,T2)
%表是相同的。标记后来的一个删除。
ItemStodeLete(k2)= true;
结尾
结尾
结尾
CA(Itemstodelete)= [];%删除这些项目。

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!