2015-09-22 5 views
0

Я знаю, как использовать linmod в MATLAB для линеаризации модели Simulink, но для этого требуется модифицировать модель, чтобы выполнить линеаризацию. Например, рассмотрим модель: enter image description hereMATLAB: линеаризуем существующую модель Simulink?

Для того, чтобы линеаризацию его я должен был бы создать модифицированную модель так: enter image description here

Однако я хочу работать на том же Simulink файл wihtout создание другого. Я не хочу хранить отдельную модель Simulink только для линеаризации ...

Как можно линеаризовать модель на первом рисунке? Предположим, что рабочий u(t)=0.5 и рабочее состояние (имеется только 1 состояние, m_u(t)) равно 0.5.

+0

Итак, вы хотите переключиться между линеаризованной моделью и нормальной? Почему бы не реализовать переключатель? Также вы можете линеаризовать свою систему внутри своего скрипта ([** 'balred' или' linmod' **] (http://stackoverflow.com/q/20286758/2605073)) и загрузить пользовательскую функцию передачи в Simulink. Или скрытая подсистема? Вы должны быть намного яснее, где проблема, потому что я ее не вижу. – thewaywewalk

+0

Извините, если это недостаточно ясно. Я уже использую linmod. Вся проблема в том, чтобы использовать «linmod», я должен использовать модель на втором рисунке, которую я должен хранить в отдельном файле. Я хотел бы сохранить все в одном файле. Не могли бы вы снять скриншот решения коммутатора (переключатель, который я мог бы переключать при вызове linmod)? –

ответ

1

Это не может быть сделано (из коробки) с базовым Simulink, то есть с использованием linmod, dlinmod или linmod2.

Вы можете написать код MATLAB, который автоматически возьмет модель, сделает ее копию, удалит соответствующие блоки, вставляет inport и outports и выполняет линеаризацию. Однако, это займет много времени, чтобы получить право, а не то, что я бы всерьез предложил.

Единственным решением является использование дополнительного продукта Simulink Control Design, который имеет функциональность для вставки/указания точек в модели, в которой вы хотите линеаризовать от/до, не влияя на то, как имитирует модель. («Под капотом» это, скорее всего, делает что-то вроде сценария MATLAB, описанного выше.)

Смежные вопросы