ca = {'Airbus' 320; 'Boeing' 737};
cb = [{'Airbus'} 320; {'Boeing'} 737];
这两个元胞数组有什么区别(如果有的话)?
如果我将它们传递给
isequal
,它会返回1
(true)。
我看到您已经标记了 Octave 和 MATLAB。由于两者之间可能存在差异,因此以下是 Octave 8.4.0 的结果。如果稍后有人没有提供 MATLAB 输出,我也许可以在此处添加一个作为比较。
Octave Online
octave:1> ca = {'Airbus' 320; 'Boeing' 737}
ca =
{
[1,1] = Airbus
[2,1] = Boeing
[1,2] = 320
[2,2] = 737
}
octave:2> cb = {{'Airbus'} 320; {'Boeing'} 737}
cb =
{
[1,1] =
{
[1,1] = Airbus
}
[2,1] =
{
[1,1] = Boeing
}
[1,2] = 320
[2,2] = 737
}
在第二种情况下,您创建的“单元格字符串”与简单字符串或字符数组不同(字符串和字符数组在 Octave 中仍然是相同的东西,与实现单独字符串对象的 MATLAB 不同。)
至于
isequal
的结果,至少在八度音阶上答案是否定的:
octave:4> isequal (ca,cb)
ans = 0
同样:
octave:7> isequal('abc',{'abc'})
ans = 0
octave:8> isequal({'abc'},{{'abc'}})
ans = 0
这些物体并不相同。如果您得到的结果等于 true,请通过复制/粘贴您输入的代码/命令以及程序为您提供的输出来更新您的问题。