【问题标题】:Undefined function 'eq' for input arguments of type 'cell''cell' 类型的输入参数的未定义函数 'eq'
【发布时间】:2013-08-26 21:09:47
【问题描述】:

我尝试制作一个生成多个字符串的函数。

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 包含数据,第一列是数字,第三列是字符串。我想输入数字并生成一个字符串。 为什么此函数会产生错误:未定义函数 'eq' 用于类型为“cell”的输入参数。?没看懂。

感谢您的帮助。

【问题讨论】:

  • 你的代码有问题-> code128B 没有定义!可能 code128B = load(...) 应该这样做:)
  • 您需要使用code128B{a,1} 而不是code128B(a,1)

标签: matlab


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多