我正在尝试确定两个表的相等性。通常,isequal
应该与表一起使用。但是,当要比较的其中一个表是单元格的内容时,我会收到意外的结果。看看这个:
a{1} = table(1,2,3);
b = a{1};
isequal(a,b)
为什么结果为false
?我希望表格相等(结果true
)。
答案 0 :(得分:4)
单元格与其内容不同。尝试
isequal(a{1},b)
澄清:
a
是一个1×1的单元格数组a(1)
是它的第一个单元格。在这种情况下,这与a
相同,因为a
是1×1。a{1}
是第一个单元格的内容,即表格。所以isequal(a{1},b)
给出true
,因为它比较了两个表,而这些表确实相等。
另一方面,isequal(a,b)
提供false
,因为a
是包含表格的单元格,而b
是一个表格。
另请注意
isequal(a,{b})
会给true
,因为a
是包含表b
的1×1单元格数组,而{b}
是包含在1×1单元格单元格数组中的表格,所以它是一样的。