未定义的功能' eq'对于类型' cell'的输入参数

时间:2013-08-26 11:48:01

标签: matlab

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

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

for a=1:length(code128B)
    if v == code128B(a,1)
        p=code128B{a,3};
    end
end

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:6)

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

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