0

这个错误在matlab中是什么意思?当我使用 2 个输入图像在命令窗口上运行该函数时(图像为 tif 格式、浮点、32 位,它们的大小为 (5165,11945,7)),matlab 向我显示以下错误消息。

Undefined function or method (name of input image) for input arguments of type double.

有人说是因为工作目录不同。但到目前为止,我在 matlab ( c:\User\user\Documents\MATLAB\) 中只有一个工作目录。我所有的图片都在里面。我可以在当前导演图标的文件列表中的 matlab 屏幕上看到它们。我真的很困惑这个错误来自哪里。希望可以有人帮帮我。

4

1 回答 1

1

因为 Matlab 使用括号而不是方括号进行向量/矩阵索引,所以它无法区分具有相同名称的变量和函数。例如,在 Java 中,如果您有一个名为 的数组和函数foo,您可以通过以下方式访问数组中的值:

foo[index];

您可以使用以下命令调用该函数:

foo(parameter);

然而,在 matlab 中对向量进行索引foo和调用函数foo都使用相同的语法完成:

foo(someValue);

由于这种混淆,Matlab 首先假设所有调用都是对变量的。如果具有指定名称的变量不存在,则它会尝试查找具有相同名称的函数。

你的错误:

double 类型的输入参数的未定义函数或方法VariableName 。

表示 Matlab 认为您正在尝试调用名为VariableName. 这意味着两件事:

  1. 没有一个名为的变量VariableName
  2. 您的 matlab 路径上没有命名函数。VariableName

要纠正这个问题,首先要确定您是尝试索引变量还是调用函数。然后确保该变量存在或该函数在您的路径上。

于 2012-11-20T14:08:13.290 回答