MATLAB 2013a中的输出错误太多

时间:2014-07-12 09:37:43

标签: matlab

在执行MATLAB 2012b中没有失败的代码时,我在MATLAB 2013a中遇到一个错误,其标识符为“MATLAB:TooManyOutputs”。

产生此错误的行是

handles.Project = project;

其中project是一个结构(大小为1x1),handles是一个带有我创建的GUI句柄的结构。 Project是结构handles的一个字段,在上一行之前不存在。

对我来说似乎很奇怪的是,如果我在我显示之前在行中放置一个断点,我会对它进行评论,并且当由于该断点暂停执行时,我会在MATLAB命令行中手动编写{ {1}}没有错误。

错误在哪里?怎么了?

谢谢。

编辑:还有另一个无法解释的问题。我发现这一行不会在MATLAB 2013a for UNIX中崩溃我的程序,但它在MATLAB 2013a for Windows中会崩溃。

EDIT2:我发现在MATLAB 2013a for Windows中有一个名为handles.Project = project;的新函数,所以我猜MATLAB认为我在调用它而不是我真正想要的变量。问题是我无法更改变量的名称(因为它存储在MAT文件中,该文件由我无法访问的其他程序创建)。那么,有什么方法可以说:“MATLAB,我希望你使用这个变量而不是你的新函数”?

1 个答案:

答案 0 :(得分:1)

如果使用输出参数调用load function,则MAT文件的内容将作为结构返回,每个变量一个字段。这样就可以避免污染工作区,特别是如果MAT文件中存储了很多变量,并避免可能的名称冲突。

D = load('some_file.mat');
handles.Project = D.project;