После определения интересующих блоков в результатах линеаризации для модели Simulink ® с помощью запроса помощника по линеаризации можно устранить неполадки в отдельных линеаризациях блоков. Дополнительные сведения о запросе помощника по линеаризации и просмотре информации о диагностике блоков см. в разделе Определение и устранение общих проблем линеаризации.
Можно также устранить неполадки линеаризации отдельных блоков в командной строке с помощью BlockDiagnostic объект. Пример см. в разделе Устранение неполадок с результатами линеаризации в командной строке.
В линеаризаторе модели на вкладке Помощник (Advisor) подробная диагностическая информация для линеаризации блока показывает:
Диагностическая сводка, показывающая все соответствующие диагностические сообщения, и сводная таблица линеаризации.

Значение линеаризации блока.

Рабочая точка блока; состояние и входные значения, для которых блок линеаризован.

С помощью этой информации можно диагностировать потенциальные проблемы линеаризации.
Диагностические сообщения линеаризации указывают блоки со свойствами или линеаризацией, которые соответствуют общим проблемам линеаризации. Устранение проблем линеаризации, выявленных в диагностических сообщениях, является хорошим первым шагом при устранении неполадок линеаризации.
Некоторые конфигурации блоков, которые могут генерировать диагностические сообщения:
Блоки без предопределенной точной линеаризации и с сигналами или состояниями без плавающей точки. Такие блоки линеаризуются до нуля и генерируют диагностические сообщения.
Прерывистые блоки линеаризуются в рабочей точке вблизи разрыва. Если такие блоки не рассматриваются как усиление во время линеаризации, программное обеспечение генерирует диагностические сообщения относительно их линеаризации.
Блоки с по крайней мере одной парой вход/выход, которая линеаризуется до нуля и которая вызывает нулевую пару вход/выход в общей линеаризации модели. Линеаризация имеет нулевую пару вход/выход, когда изменение значения входного сигнала не приводит к соответствующему изменению выходного значения.
Блоки, не поддерживающие линеаризацию, поскольку они не имеют предопределенной точной линеаризации и не поддерживают численное возмущение.
Некоторые диагностические сообщения предлагают решения соответствующих проблем линеаризации. Например, когда входной сигнал находится вне пределов насыщения блока Насыщения, диагностическое сообщение предлагает рассматривать блок как усиление во время линеаризации.
В сводной таблице линеаризации отображаются следующие свойства линеаризации блока:
Путь блока - расположение блока в модели Simulink. Чтобы выделить блок в модели, щелкните траекторию блока.
On Path - флаг, указывающий, находится ли блок на пути линеаризации, то есть, по меньшей мере, один вход линеаризации соединен с, по меньшей мере, одним выходом линеаризации через блок. Если предполагается, что блок находится на пути линеаризации, а не на пути, проверьте конфигурацию точки анализа в модели. Неправильно размещенные отверстия ввода/вывода линеаризации или петли могут исключить блоки из пути линеаризации. Аналогично, размещение неверных точек анализа может неожиданно добавить блоки к траектории линеаризации.
Вклад в линеаризацию - флаг, указывающий, вносит ли блок численный вклад в общую линеаризацию модели. Если блок неожиданно не вносит вклад в результат линеаризации, исследуйте линеаризацию блока и других блоков в той же ветви пути линеаризации. Например, если соседний блок на пути линеаризации линеаризуется до нуля, то в противном случае правильно линеаризованный блок может быть исключен из результата линеаризации.
Метод линеаризации - метод линеаризации модели, указанный как один из следующих:
Точно - линеаризация блока вычисляется с использованием определенного аналитического якобиана блока.
Возмущение - блок не имеет аналитического якобиана. Вместо этого блок линеаризуется, используя численное возмущение его входов и состояний. Некоторые блоки с числовым возмущением, такие как блоки с разрывами или неплавающими входными сигналами, могут линеаризоваться до нуля.
Подстановка блока - линеаризация блока задается с помощью пользовательской линеаризации блока. Проверьте правильность линеаризации указанного блока для приложения. Дополнительные сведения см. в разделах Задание линейной системы для линеаризации блоков с использованием выражения MATLAB и Указание системы D-матрицы для линеаризации блоков с использованием функции.
Simscape Network - диагностика блоков соответствует Simscape™ сети в модели. Дополнительные сведения о линеаризации и устранении неполадок сетей Simscape см. в разделе Линеаризация сетей Simscape.
Не поддерживается - блок не имеет аналитического якобиана и не поддерживает численное возмущение. Задайте линеаризацию для этого блока с помощью пользовательской линеаризации. Дополнительные сведения см. в разделах Задание линейной системы для линеаризации блоков с использованием выражения MATLAB и Указание системы D-матрицы для линеаризации блоков с использованием функции.
Чтобы убедиться, что блок линеаризован так, как ожидалось, проверьте уравнения линеаризации блока. По умолчанию программа отображает линеаризацию в формате state-space. В раскрывающемся списке Показать линеаризацию как (Show linearization as) можно выбрать другой формат отображения.
Чтобы диагностировать причину неожиданной линеаризации блока, например, блока, который линеаризуется до нуля, рассмотрите:
Любые соответствующие диагностические сообщения. Эти сообщения могут выявить общие причины неправильных линеаризаций и предложить возможные решения.
Рабочая точка блока. Например, если вход в блок насыщения находится вне пределов насыщения блока, блок линеаризуется до нуля.
Параметры блока. Например, если блок сконфигурирован для использования вводов или состояний без плавающей точки и не имеет предопределенной точной линеаризации, он линеаризуется до нуля.
Если блок не линеаризуется так, как ожидалось, проверьте рабочую точку. Рабочая точка, в которой линеаризуется блок, состоит из входных значений и значений состояния. Если рабочая точка блока неверна, проверьте правильность рабочей точки модели в целом. Дополнительные сведения см. в разделе Проверка рабочей точки.
Если значение входного сигнала в рабочей точке блока неверно, исследуйте линеаризацию восходящих блоков из этого сигнала. Например, рассмотрим блок Product с двумя входами. Рабочая точка этого блока состоит из двух значений входного сигнала. Если любое входное значение равно нулю, путь от другого входа к выходу линеаризуется до нуля.
Если предполагается, что блок Product внесет вклад в результат линеаризации для рабочей точки, в которой линеаризована модель, проверьте линеаризацию для блока, который генерирует нулевой входной сигнал. Для сложных моделей причиной неправильного входного сигнала может быть более одного блока в восходящем направлении.
Некоторые блоки Simulink имеют свойства, из-за которых они плохо линеаризуются. Часто такие блоки либо линеаризуются до нуля, либо имеют связанные с ними диагностические сообщения линеаризации. Поэтому помощник по линеаризации определяет их как потенциально проблемные блоки при первом открытии вкладки Помощник (Advisor).
В следующей таблице показаны некоторые блоки, которые обычно вызывают проблемы линеаризации, и предложены возможные исправления для каждого блока. Все эти блоки имеют соответствующие диагностические сообщения.
| Тип блока | Проблема линеаризации | Возможное исправление |
|---|---|---|
| Блоки, не поддерживающие линеаризацию | Некоторые блоки реализованы без определённых аналитических якобинцев и не поддерживают численное возмущение. | Укажите пользовательскую линеаризацию блока. Примеры см. в разделах Задание линейной системы для линеаризации блоков с использованием выражения MATLAB и Указание системы D-матрицы для линеаризации блоков с использованием функции. |
| Блоки с разрывами | Блоки с разрывами обычно имеют плохие результаты линеаризации, когда рабочая точка близка к разрывам. |
|
| Подсистемы на основе событий (инициируемые подсистемы) | Блоки в подсистемах на основе событий линеаризуются до нуля, поскольку такие подсистемы не запускаются во время линеаризации. | Если это возможно, укажите пользовательскую линеаризацию подсистемы на основе событий в качестве усредненной модели или подсистемы периодического вызова функции. Дополнительные сведения см. в разделе Линеаризация подсистем на основе событий (внешних подсистем, запланированных по расписанию). |
| Блоки с сигналами без плавающей запятой | Блоки, имеющие входные сигналы или состояния без плавающей точки и не имеющие определенных аналитических якобинцев, линеаризуются до нуля. | Преобразование типов данных без плавающей точки в двойную или одиночную точность. Дополнительные сведения см. в разделе Линеаризация блоков с неплавающими сигналами или состояниями. |
| Блоки, которые линеаризуются с использованием численных возмущений, а не определенных аналитических якобианцев | Блоки, расположенные вблизи прерывистых областей, такие как S-функции, функциональные блоки MATLAB или таблицы поиска, чувствительны к числовым уровням возмущений. Если уровень возмущений слишком мал, блок линеаризуется до нуля. | Измените численный уровень возмущений блока. Дополнительные сведения см. в разделе Изменение уровня возмущений блоков, возмущенных во время линеаризации. |