2012-11-20 76 views
0

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

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

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

+2

你能显示你使用的命令吗?你最好更清楚地描述你的问题。 –

+1

我想你的函数中有一行注释行在行首缺少'%'。在编辑器中打开该函数,在文件中搜索“输入图像的名称”,并在该行的开头放置一个“%”。 –

+0

我在命令窗口中编写了以下命令来运行名为D_old的函数。括号中的两个变量是在D_old函数中用作输入的图像。 D_old(rnf_4_a,tmp_4_a) 然后,在命令窗口中出现错误“Undefined function and method'tmp_4_a'for inputs arguments of'double'”。这个tmp_4_a是一个输入图像。那么输入图像是否存在这个问题? – user1769107

回答

1

由于Matlab使用圆括号而不是方括号来表示矢量/矩阵索引,因此无法区分具有相同名称的变量和函数。例如在Java中,如果你有一个数组和功能并重命名为foo,您可以访问值的数组在:

foo[index]; 

而且你会调用该函数:

foo(parameter); 

然而在MATLAB索引到矢量foo和调用函数foo都完成使用相同的语法:由于这种混淆,MATL的

foo(someValue); 

ab首先假定所有的调用都是变量。如果具有指定名称的变量不存在,则它会尝试查找具有相同名称的函数。

你的错误:

Undefined function or method VariableName for input arguments of type double.

表示Matlab的认为你试图调用名为VariableName功能。这意味着两件事情:

  1. 不是命名变量VariableName
  2. 不是一个你的MATLAB的路径名为VariableName功能。

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

+0

非常感谢Slayton。这是因为我没有将图像文件转换为matlab中的变量。 – user1769107