0

为什么我会收到错误消息

???未定义的函数或变量

尝试调用以下函数时:

    function Diff= myfun3(wk,omega)
wcalc=inv(lambda* Passetcovar)*inv(inv(tau * Passetcovar)+ PMat(i,:)'*inv(omega)*PMat(i,:))*(inv(tau * Passetcovar)*Pi+ PMat(i,:)'*inv(omega)*Q(i,:));
Diff=sum((wk-wcalc).^2);
end

函数中的所有参数均已定义且正确。

我正在使用此函数调用此函数,myfun3(wk,omega)但收到错误消息,例如

??? Undefined function or variable 'lambda'.

即使 lambda 已在其他地方定义。

4

1 回答 1

2

lambda没有在函数工作区中定义,即使它是在您的基础工作区中定义的。要么将其作为输入传递给函数,要么将其定义为全局变量。有关详细信息,请参阅http://www.mathworks.co.uk/help/matlab/matlab_prog/share-data-between-workspaces.html 。

于 2013-08-28T13:00:38.110 回答