我正在尝试使用MPC工具箱中的setoutdist
Matlab函数(我在Windows 8.1上使用Matlab R2013a)。作为我收到的回复:
Undefined function 'setoutdist' for input arguments of type 'ss'.
我可以使用help setoutdist
获得有关此功能的帮助。当我输入函数名称和左括号时,我正在接收带有参数列表的提示。当我使用which setoutdist -all
时,我收到了正确的输出:
C:\Program Files\MATLAB\R2013a\toolbox\mpc\mpc\@mpc\setoutdist.m % mpc method code here
但是即使在默认的Matlab路径中该函数也不起作用,所以我不认为它是阴影的。
其他功能也是如此,例如setindist
,setestim
,mpc_struct
等,但mpc
,mpcstate
和mpcmove
功能有效正确。
我在尝试:clear all
,clear classess
,rehash toolbox
,rehash pathreset
,rehash toolboxreset
,使用pathtool
恢复默认路径。我已经阻止了防病毒软件,并在其列表中添加了exeptions。我甚至重新安装了我的Matlab,没有任何帮助。
也许这很重要:当我尝试编辑setoutdist.m
时,我收到的消息表明访问被拒绝了。
我会非常感谢任何帮助...
答案 0 :(得分:0)
您是如何致电setoutdist
的?正确的语法是三者之一(参见documentation - 对于R2014b):
setoutdist(MPCobj,'integrators')
setoutdist(MPCobj,'remove',channels)
setoutdist(MPCobj,'model',model)
其中MPCobj
是Model Predictive Controller对象,例如使用mpc
函数创建。从错误消息看,您正在使用状态空间对象调用该函数,这是不允许的(我猜测)。