2014-12-09 2 views
0

Я пытаюсь использовать, например, setoutdist Функция Matlab из панели инструментов MPC (я использую Matlab R2013a для Windows 8.1). В ответ я получаю:Невозможно использовать некоторые функции Matlab MPC Toolbox

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, и mpcmove функции работают правильно.

Я пытался: clear all, clear classess, rehash toolbox, rehash pathreset, rehash toolboxreset, восстанавливая пути по умолчанию с помощью pathtool. Я заблокировал антивирус и добавил исключения в его список. Я даже переустановил свой Matlab, ничего не помогло.

Возможно, это важно: когда я пытаюсь редактировать setoutdist.m, я получаю сообщение о том, что доступ запрещен.

Я экстремально признателен за любую помощь ...

ответ

0

Как вы звоните setoutdist? Правильный синтаксис один из трех (см documentation - для R2014b):

setoutdist(MPCobj,'integrators') 
setoutdist(MPCobj,'remove',channels) 
setoutdist(MPCobj,'model',model) 

где MPCobj является объектом Model Predictive Controller, созданный, например, с помощью функции mpc. Похоже, что из сообщения об ошибке вы вызываете функцию с объектом state-space, что недопустимо (я предполагаю).

+0

Глупо мне ... Я сделал что-то вроде этого: 'setoutdist (MatlMPCon.MatlabMpcObject,' model ', outDistModel);' где «outDistModel» был прав, но свойство моего собственного класса «MatlMPCon.MatlabMpcObject» еще не было инициализировано ... В любом случае, спасибо за подсказку :) – Kepler