Измените уровень возмущения блоков, встревоженных во время линеаризации

Блоки, которые не имеют предварительно запрограммированных аналитических Якобианов, линеаризуют использующее числовое возмущение.

Измените уровень возмущения блока

Этот пример показывает, как изменить уровень возмущения на блок Magnetic Ball Plant в модели magball. Изменение уровня возмущения изменяет результаты линеаризации.

Размер возмущения по умолчанию 10-5 (1 + | x |), где x является значением рабочей точки встревоженного состояния или входа.

Откройте модель прежде, чем изменить уровень возмущения.

Изменить уровень возмущения состояний к 107(1+|x|), где x является значением состояния, введите:

blockname='magball/Magnetic Ball Plant'
set_param(blockname,'StatePerturbationForJacobian','1e-7')

Изменить уровень возмущения входа к 107(1+|x|), где x является значением входного сигнала:

  1. Откройте систему и получите указатели порта блока.

    sys = 'magball';
    open_system(sys)
    blockname = 'magball/Magnetic Ball Plant';
    ph = get_param(blockname,'PortHandles')
    
  2. Получите указатель на значение импорта.

    p_in = ph.Inport(1)
    
  3. Установите уровень возмущения импорта.

    set_param(p_in,'PerturbationForJacobian','1e-7')

Уровни возмущения целочисленных ценных блоков

Авторский блок, который требует целочисленных входных портов для индексации, может иметь проблемы линеаризации когда этот блок:

  • Не поддерживает небольшие возмущения во входном значении

  • Принимает входные параметры с двойной точностью

Чтобы решить проблему, попытайтесь установить уровень возмущения такого блока обнулять (который устанавливает линеаризацию блока на усиление 1).