Блоки, которые не имеют предварительно запрограммированных аналитических Якобианов, линеаризуют использующее числовое возмущение.
Этот пример показывает, как изменить уровень возмущения на блок Magnetic Ball Plant в модели magball
. Изменение уровня возмущения изменяет результаты линеаризации.
Размер возмущения по умолчанию 10-5 (1 + | x |), где x является значением рабочей точки встревоженного состояния или входа.
Откройте модель прежде, чем изменить уровень возмущения.
Изменить уровень возмущения состояний к , где x является значением состояния, введите:
blockname='magball/Magnetic Ball Plant' set_param(blockname,'StatePerturbationForJacobian','1e-7')
Изменить уровень возмущения входа к , где x является значением входного сигнала:
Откройте систему и получите указатели порта блока.
sys = 'magball'; open_system(sys) blockname = 'magball/Magnetic Ball Plant'; ph = get_param(blockname,'PortHandles')
Получите указатель на значение импорта.
p_in = ph.Inport(1)
Установите уровень возмущения импорта.
set_param(p_in,'PerturbationForJacobian','1e-7')
Авторский блок, который требует целочисленных входных портов для индексации, может иметь проблемы линеаризации когда этот блок:
Не поддерживает небольшие возмущения во входном значении
Принимает входные параметры с двойной точностью
Чтобы решить проблему, попытайтесь установить уровень возмущения такого блока обнулять (который устанавливает линеаризацию блока на усиление 1).