Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Начала прогаммирования в среде MatLab / Начала программирования в среде MatLab.pdf
Скачиваний:
254
Добавлен:
02.05.2014
Размер:
5.66 Mб
Скачать

7.4. Объединение S-моделей с программами MatLab

373

 

 

 

h1=text(-0.3,0.5,sprintf('I2=%g',I2),'Fontsize',10); h1=text(-0.3,0.3,sprintf('I3=%g',I3),'Fontsize',10); h1=text(0.6,0.9,sprintf('Alfa0=%g',Alfa0),'Fontsize',10); h1=text(0.6,0.7,sprintf('Beta0=%g',Beta0),'Fontsize',10); h1=text(0.6,0.5,sprintf('Alfa0''=%g',Alfat0),'Fontsize',10); h1=text(0.6,0.3,sprintf('Beta0''=%g',Betat0),'Fontsize',10);

Результаты, представленные на рис. 7.83, иллюстрируют нелинейное свойство гироскопа в кардановом подвесе - наличие даже в случае, когда отсутствуют моменты сил по осям подвеса (т. е. когда гироскоп является свободным), систематически (с постоянной угловой скоростью) нарастающего угла поворота оси гироскопа вокруг внешней оси карданового подвеса. Это так называемый "уход Магнуса".

7.4. Объединение S-моделей с программами MatLAB

Как уже отмечалось, моделирование процессов с помощью S-моделей, несмотря на весьма значительные удобства и преимущества, имеют и некоторые существенные недостатки.

К преимуществам использования SimuLink-моделей относятся:

-весьма удобный, наглядный и эффективный способ образования программ моделирования даже довольно сложных динамических систем – визуальное программирование, - путем сборки блок-схемы системы из "стандартных" готовых блоков;

-довольно удобные и наглядные средства вмешательства в готовую блоксхему системы с целью ее преобразования или получения дополнительной информации об изменении промежуточных процессов;

-широкий набор эффективных программ решателей (Solvers, интеграторов) дифференциальных уравнений (с фиксированным шагом интегрирования, с переменным шагом, а также решателей так называемых "жестких" систем дифференциальных уравнений);

-отсутствие необходимости в специальной организации процесса численного интегрирования;

-уникальные возможности интегрирования нелинейных систем с "существенными" нелінійностями (когда нелинейная зависимость имеет скачкообразный характер);

-весьма быстрое и удобное получение графической информации об изменении моделируемых величин по аргументу (времени).

Недостатками же использования S-моделей являются:

-жесткая и неудобная форма графического представления сигналов в блоках Scope и XY Graph (в отличие от средств среды MatLab);

-невозможность автоматической (программной) обработки полученных результатов многоразового моделирования одной или нескольких S- моделей;

7.4. Объединение S-моделей с программами MatLab

374

 

 

 

-невозможность рациональной организации процесса изменения исходных данных S-модели и параметров ее блоков (например, в диалоговой форме).

Кроме того, для отдельных видов дифференциальных уравнений намного удобнее и быстрее составлять процедуры их правых частей в виде программы, чем составлять соответствующую блок-схему. Это довольно наглядно видно из сравнения, например, блок-схем гироскопа в кардановом подвесе (рис. 7.73...7.76) с его дифференциальными уравнениями (п. 7.3.2).

Указанное свидетельствует о том, что программная реализация процесса моделирования и моделирования в виде S-моделей имеют взаимодополняющие свойства. Желательно уметь объединять преимущества этих двух средств моделирования, соединяя программную реализацию с использованием S-моделей.

Очевидно, чтобы осуществить объединение программы с моделированием с помощью S-модели надо иметь в наличии:

-средства передачи данных из среды MatLab в S-модель и обратно;

-средства запуска процесса моделирования S-модели из среды MatLab, а также изменения параметров моделирования из этого среды;

-средства создания S-блоков не только из других готовых блоков, а и пу-

тем использования программ языком MatLab.

Рассмотрим подробнее эти средства, предоставленные системой MatLab.

7.4.1. Принципы функционирования блоков системы

SimuLink

Каждый блок S-модели имеет такие характеристики (рис. 7.84):

-вектор входных величин u;

-вектор выходных величин y;

-вектор состояния x.

Рис. 7.84

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

y = fo (t, x,u)

формирования выхода

xdk +1 = fu (t, x,u)

обновления (формирования нового значения) со-

стояния

 

dx = fd (t, x,u)

формирования значений производной состояния

dt

 

 

 

7.4. Объединение S-моделей с программами MatLab

375

 

 

 

 

 

где

x

 

 

x = c

 

 

 

 

xdk

 

 

Моделирование состоит из двух фаз - инициализации и собственно моделирования. В фазе инициализации осуществляются такие действия:

-блочные параметры передаются в MatLAB для оценивания (вычисления); результаты числовых вычислений используются как фактические параметры блоков;

-иерархия модели сглаживается; каждая не условно выполняемая подсистема заменяется блоками, из которых она складывается;

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

-проверяются связи между блоками, чтобы гарантировать, что длина век-

тора выхода каждого блока совпадает с ожидаемой длиной векторов входа блоков, которые управляются ним.

Собственно моделирование осуществляется путем численного интегрирования. Каждый из имеющихся в наличии методов интегрирования (ODE) зависит от способности модели определять производные ее непрерывных состояний. Вычисления этих производных является двухшаговым процессом. Сначала каждая выходная величина блока вычисляется в порядке, определенном в процессе сортировки. На втором шаге каждый блок вычисляет свои производные для текущего момента времени, входные переменные и переменные состояния. Полученный вектор производных используется для вычисления нового вектора переменных состояния в следующий момент времени. Как только новый вектор состояния вычислен, блоки данных и блоки - обзорные окна обновляются.

Рис. 7.85

Рис. 7.86

7.4. Объединение S-моделей с программами MatLab

376

 

 

 

С перечнем программ решателей (интеграторов), которые прилагаются к пакету SimuLink, можно ознакомиться через меню Simulation/Parameters (вкладка

Solvers) – см. рис. 7.85…7.88.

Вкладка Solvers (рис. 7.85) содержит в верхней половине четыре окошка:

-Start time, – в котором устанавливается начальное значение аргумента (времени);

-Stop time, – где записывается конечное значение времени;

-Type, – где выбирается вид решателей;

-Solver options – в котором выбирается конкретный решатель.

Если в окошке Type выбран вид решателей Fixed step (с фиксированным шагом), в окошке Solver options появляется такой (рис. 7.85) набор решателей с фиксированным шагом:

-discrete (no continuous states) - дискретный (не непрерывные состояния);

-ode5 – метод Дормана-Пренса (пятого порядка);

-ode4 – метод Рунге-Кутта (четвертого порядка);

-ode3 – метод Богацкого-Шампена (третьего порядка);

-ode2 – метод Хойне (второго порядка);

-ode1 – метод Ейлера (первого порядка).

При этом в нижней половине вкладки возникает окошко с надписью Fixed step size (Размер фиксированного шага), в которое нужно ввести значение шага интегрирования. В Matlab, начиная из версии 5.3 и выше, возникает еще одно окошко (рис. 7.87) под именем Mode (Режим), в котором выбирается один из трех возможных режимов работы:

-Auto – автоматический режим;

-Single Tasking – однозадачный режим;

-Multi Tasking – многозадачный режим.

Рис. 7.87

Рис.7.88

Если же выбрать тип решателя Variable step, в окошке Solver options (рис. 7.86) возникнет другая подборка интеграторов (методов численного интегрирования):