【发布时间】:2013-06-29 19:39:55
【问题描述】:
我是 Matlab 的初学者。我正在尝试运行此函数,但似乎存在我无法理解的语法错误。源代码如下。
function print_trace(x)
for rowi=1:size(x,1),
for coli=1:size(x,2),
disp(x(rowi,coli))
end
end
遇到的错误如下:
??? Input argument "x" is undefined.
Error in ==> print_trace at 2
for rowi=1:size(x,1),
有什么想法吗?
编辑:这是截图:http://imgur.com/pwPhzhh
编辑2:
尝试查看是否有多个副本在运行:
>> which('print_trace')
C:\Users\stablum\Dropbox\cm\print_trace.m
编辑:问题的解决方案:)
看来我解决了这个问题,我的错误是运行(“播放”按钮)函数的文件,而不是仅仅调用函数(它将自动加载文件)。我还是不明白为什么文件运行时会出现这个错误,但至少我的问题解决了。
【问题讨论】:
-
这个函数怎么调用?
-
@francescostablum: 好的,你不需要运行函数来将它加载到环境中,当文件在当前文件夹中时,你可以像@一样使用它987654327@(在Matlab命令窗口输入这个并回车,你会在命令窗口看到结果)。
-
您是否不小心拥有同一个文件的多个副本?从命令窗口运行
which('print_trace')。生成的路径是否与您正在编辑的文件的路径相同? -
@francescostablum:是的,当你call一个函数时,它会在当前文件夹或中搜索与该函数同名的文件Matlab 路径,当它找到文件(函数)时,它将使用您的输入运行它(并可能返回输出)。无需加载它。见calling a function。
-
@pm89:谢谢!看来我解决了这个问题,我的错误是运行(“播放”按钮)文件而不是仅仅调用函数(它将自动加载文件)。