matlab错误:变量' cell'使用但可能未设置:matlab认为函数名是变量名

时间:2015-12-07 02:38:49

标签: matlab

我在matlab中有一个函数,如下所示:

function [W,Y] = myfun(L,nit)
W = cell(L,1);
x = cell(L+1,1);
...

因此Wx被初始化为长度为L的单元格数组,然后我继续在函数体中对它们进行实际操作。但是,matlab的编辑器在cell的第一次使用下有红色波浪线,并带有以下消息:

variable 'cell' is used but might be unset

如果我尝试在主脚本中调用该函数,我会收到错误:

"cell" previously appeared to be used as a function or command, conflicting      
with its use here as the name of a variable.
A possible cause of this error is that you forgot to initialize the 
variable, or you have initialized it implicitly using load or eval.

我不明白为什么matlab认为我将cell称为变量的名称。我可以执行任何一行

W = cell(L,1);
x = cell(L+1,1);

在此特定功能之外,它们按预期工作。我在其他函数中创建了单元格数组而没有出现任何错误。如果我使用命令

exist cell

我得到5的答案,表明cell仍然是内置函数。所以我很困惑。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。事实证明我后来在函数中有一个拼写错误(很多)我称之为单元格而不是变量:

function [conn] = myfun(nn)

conn = cell(nn,1); 

.
.
.

conn{i} = unique( cell{i} ); 

而不是:

conn{i} = unique( conn{i} );

导致错误。