'cell'类型的输入参数的未定义函数'eq'

1 matlab

我试图创建一个生成许多字符串的函数.

function [p] = GetPattern (v)
load('code128B.mat')

for a=1:length(code128B)
    if v == code128B(a,1)
        p=code128B{a,3};
    end
end
Run Code Online (Sandbox Code Playgroud)

code128B.mat包含数据,第一列是数字,第三列是字符串.我想输入数字并生成一个字符串.为什么这个函数产生错误:'cell'类型的输入参数的未定义函数'eq'.我不明白.

谢谢你的帮助.

Moh*_*nia 6

对于单元格数组,花括号({})用于提取单元格的内容,而圆括号(())用于提取单元格的子集(即,结果也是单元格数组).

使用code128B{a,1}而不是code128B(a,1)获取数字而不是包含该数字的单元格.但是,如果v也是一个单元格,那么您必须使用它isequal来比较它们的内容.