我在OS X的MATLAB_R2009b中使用==
获得了一个非常奇怪的结果。提示示例:
s =
2
>> class(s)
ans =
double
>> class(s) == 'double'
ans =
1 1 1 1 1 1
六次是吗?任何人都可以解释这个||提供解决方案?
答案 0 :(得分:15)
在Matlab中,字符串实际上只是字符数组。所以你真正在做的是比较两个数组。这进行了元素比较,即逐个字符。所以你可以做:
all(class(s) == 'double')
但如果class(s)
的字符串长度不是6,则会产生运行时错误。要做的更安全:
strcmp(class(s), 'double')
但你应该做的是:
isa(s, 'double')