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

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

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

В этом примере показано, как изменить уровень возмущения в блок 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).