我在matlab中有一个函数,如下所示:
function [W,Y] = myfun(L,nit)
W = cell(L,1);
x = cell(L+1,1);
...
因此W
和x
被初始化为长度为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
仍然是内置函数。所以我很困惑。
答案 0 :(得分:0)
我遇到了同样的问题。事实证明我后来在函数中有一个拼写错误(很多)我称之为单元格而不是变量:
function [conn] = myfun(nn)
conn = cell(nn,1);
.
.
.
conn{i} = unique( cell{i} );
而不是:
conn{i} = unique( conn{i} );
导致错误。