2013-08-28 132 views
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)這個功能,但我得到即使拉姆達已經eslewhere定義的錯誤信息,如

??? Undefined function or variable 'lambda'. 

回答

2

lambda沒有在工作區的功能定義,即使是在你的基地工作區定義。要麼通過它作爲輸入提供給所述功能或將其定義爲一個全局變量。詳情請參閱http://www.mathworks.co.uk/help/matlab/matlab_prog/share-data-between-workspaces.html

+0

正確的,你沒有任何定義'i'。這取決於你想要做什麼。你在循環「我」嗎?你的功能是做什麼的?你期望如何運行它?用哪些數據? – am304

+0

是的,我注意到,我沒有列入我的函數調用,它工作正常NOW-謝謝!整點是讓此功能工作,這樣我可以通過改變ω-東西我還沒有能夠做到的(見我的其他問題)最小化。再次感謝! – Mary