cat*_*cat 1 string matlab prefix cell-array
这段代码:
if (prefixTree(1,4).prefixTree2(:,2)=='2')
unique(prefixTree(1,4).prefixTree2(:,3))
end
Run Code Online (Sandbox Code Playgroud)
返回此错误:
未定义的函数'eq'用于'cell'类型的输入参数.
为什么?
该错误意味着它prefixTree(1,4).prefixTree2(:,2)是一个单元阵列.您可以使用访问第二列的各个元素prefixTree(1,4).prefixTree2{:,2}.此外,冒号运算符意味着存在多个元素,prefixTree(1,4).prefixTree2(:,2)但您正在尝试进行标量比较.最后,你要比较a char('2'而不是数字2),因此最好使用字符串函数.您可以strcmp用来检查单元格的每个元素:
prefixTree(1,4).prefixTree2 = {'1' '2';'3' '2'}; % Example data
strcmp(prefixTree(1,4).prefixTree2(:,2),'2')
Run Code Online (Sandbox Code Playgroud)
if all(strcmp(prefixTree(1,4).prefixTree2(:,2),'2'))
...
end
Run Code Online (Sandbox Code Playgroud)