Matlab:未定义函数 'eq' 用于类型 'cell' 的输入参数
Matlab: Undefined function 'eq' for input arguments of type 'cell'
此代码:
if (prefixTree(1,4).prefixTree2(:,2)=='2')
unique(prefixTree(1,4).prefixTree2(:,3))
end
returns 这个错误:
Undefined function 'eq' for input arguments of type 'cell'.
为什么?
错误暗示 prefixTree(1,4).prefixTree2(:,2)
是元胞数组。您可以使用 prefixTree(1,4).prefixTree2{:,2}
访问第二列的各个元素。此外,冒号运算符暗示 prefixTree(1,4).prefixTree2(:,2)
中有多个元素,但您正在尝试进行标量比较。最后,您要与 char
('2'
与数字 2
相对)进行比较,因此最好使用 string functions. You can use strcmp
检查单元格的每个元素:
prefixTree(1,4).prefixTree2 = {'1' '2';'3' '2'}; % Example data
strcmp(prefixTree(1,4).prefixTree2(:,2),'2')
然后使用 any
or all
到 return 标量作为您的 if
语句:
if all(strcmp(prefixTree(1,4).prefixTree2(:,2),'2'))
...
end
此代码:
if (prefixTree(1,4).prefixTree2(:,2)=='2')
unique(prefixTree(1,4).prefixTree2(:,3))
end
returns 这个错误:
Undefined function 'eq' for input arguments of type 'cell'.
为什么?
错误暗示 prefixTree(1,4).prefixTree2(:,2)
是元胞数组。您可以使用 prefixTree(1,4).prefixTree2{:,2}
访问第二列的各个元素。此外,冒号运算符暗示 prefixTree(1,4).prefixTree2(:,2)
中有多个元素,但您正在尝试进行标量比较。最后,您要与 char
('2'
与数字 2
相对)进行比较,因此最好使用 string functions. You can use strcmp
检查单元格的每个元素:
prefixTree(1,4).prefixTree2 = {'1' '2';'3' '2'}; % Example data
strcmp(prefixTree(1,4).prefixTree2(:,2),'2')
然后使用 any
or all
到 return 标量作为您的 if
语句:
if all(strcmp(prefixTree(1,4).prefixTree2(:,2),'2'))
...
end