Всего на сайте:
119 тыс. 927 статей

Главная | Информатика

Индивидуальная работа  Просмотрен 107

по дисциплине «Компьютерное моделирование»

 

 

Вариант №11

 

Выполнил:

студент 3-ЗФ-41

Д.А. Хрущев

 

Введение

 

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

Решением задачи проведения таких испытаний является метод моделирования.

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

Математические модели могут быть реализованы с помощью различных методов и ресурсов. В настоящее время наибольшее распространение получили модели, реализуемые с помощью электронных вычислительных машин на различных языках программирования. Эти языки делятся на следующие обширные группы:

· языки широкого применения — Fortran, Algol, Basic, Pascal, C, C++;

· специальные языки моделирования — Modula, Simula, Ada;

· языки реального времени;

· системы визуального моделирования — МВТУ, UML, Matlab.

При выполнении данной работы использовался визуальный инструмент Simulink программного комплекса Matlab. Преимущество Simulink заключается в том, что пользователю нет необходимости изучать синтаксис языка программирования, используемого в Matlab. Этот инструмент позволяет производить операции над графическими составляющими с помощью стандартных действий манипулятором.

Графические составляющие могут быть взяты из обширной стандартной библиотеки Simulink, либо могут быть заданы пользовательскими командами. Графические блоки объединяются линиями связи, которые в том числе могут быть замкнуты для реализации моделей с бесконечными итерациями.

При моделировании пользователь может выбирать метод решения дифференциальных уравнений, а также способ изменения модельного времени (с фиксированным или переменным шагом). В ходе моделирования имеется возможность следить за процессами, происходящими в системе. Для этого используются специальные устройства наблюдения, входящие в состав библиотеки Simulink. Результаты моделирования могут быть представлены в виде графиков или таблиц.

Задание

 

Синтезировать модель, реализующую следующее уравнение движения:

júú + cosj = S÷( t,j,j÷ )

S÷( t,j,j÷ ) = -9×x×jú - [nmx×sin(n×t+ex)×sinj - nmy×sin(n×t+ey)×sinj]

Провести моделирование при следующих исходных параметрах:

x=0.1, nmx=0, nmy=1, n=2.3, ex=0, ey=0, j(0) = -2.8, jú(0) =0;

Для реализации данной модели в рабочем поле Simulink создадим 8 объектов типа Constant, которые разделятся следующим образом:

Исходные параметры

1. Параметры объекта:

– коэффициент x

– амплитуды nmy и nmx;

– n;

– начальные фазы ex и ey;

2. Начальные условия:

– j0 ;

– j0ú

Выходные (моделируемые) величины:

– j(t);

– jú (t);

Запишем исходное выражение в следующей форме:

j÷ú = S÷( t,j,j÷ ) - cosj

 

Если сформировать правую часть уравнения по процессам j(t) и
S ÷( t,j,j÷ ), считая их известными, то станет известно j÷ú(t). Проинтегрировав j÷ú(t), можно получить jú (t). Проинтегрировав jú(t), получим j(t). Полученные две величины (процессы) можно использовать для формирования правой части уравнения.

Для формирования блок-схемы, осуществляющей численное интегрирование уравнения, сделаем следующее:

1. В основу блок-схемы положим два последовательно соединенных интегратора (блок Integrator) с внешне задаваемыми начальными условиями; на вход первого интегратора подаем j÷ú(t), а в качестве начального условия используем начальное значение jú(0); выходом этого блока будет текущая jú(t); эту величину следует подать на вход второго интегратора с начальным условием в виде j(0); выход этого блока будет представлять искомый процесс j(t).

2. Сформируем отдельным блоком в виде подмодели (блок Subsystem) функцию S(t,j,j÷), используя в качестве входных процессов полученные процессы j(t) и jú(t), а в качестве входных величин – параметры 9×x, nmx, nmy, eх, ey.

3. Используя созданную подмодель, в основной модели свяжем сформированные процессы j(t) и jú(t) с соответствующими входами подмодели, а выход подмодели свяжем с сумматором, на который подадим также сформированный сигнал cosj; сигнал с выхода сумматора подаем на вход первого интегратора, замыкая цепь интегрирования.

4. Для отображения результатов интегрирования в графической форме подсоединим блок Scope к выходу системы – сформированному сигналу j(t); для отображения зависимости j(t)[jú(t)] используем блок XY Graph, на входы которого направим сигналы j(t) и jú(t).

Для реализации заданных колебаний используем генератор времени – блок Clock (рис.2). Выход этого блока перемножается с заданным значением частоты n. Полученная величина n×t с постоянными величинами nmx, ex поступает на блок мультиплексора Mux, в результате чего на выходе его образуется вектор из трех элементов nmx, n×t и ex. Этот вектор подается на вход блока f(u), который создан на основе стандартного блока Fcn и реализует следующую зависимость:

f(u)=u(1)×sin(u(2)+u(3)),

где u(1),u(2),u(3) – элементы вектора u, подаваемого на вход блока.

Таких блоков в подсистеме на рис.1 два. В первом из них в качестве первого элемента входного вектора используется величина nmx, второго – n×t и третьего ex. Во втором блоке первым элементом является nmy, вторым – n×t и третьим ey.

Полученные в результате проведенного моделирования данные с выводных элементов Scope и XY Graph отображены графически на рисунках 3 и 4.

 

 

 
 

Рисунок 1 — Общая схема реализации модели

 

 


 
 

Рисунок 2 — Схема реализации подсистемы Subsystem

 



Рисунок 3 — График зависимости выходной величины от времени

 

 
 

 

Рисунок 4 — График процесса при выбранных параметрах


Заключение

 

Произведен синтез математической модели, описываемой заданным дифференциальным уравнением. Полученные графики свидетельствуют о том, что рассматриваемая система после краткого переходного режима приходит в устойчивое состояние.

Компонент Simulink программного пакета Matlab позволяет произвести моделирование заданного уравнения движения с помощью относительно простых и визуально понятных методов, получив при этом наглядный результат в графическом виде.

 

Предыдущая статья:Упражнение 26. Идентификация элементов WORD Следующая статья:При эксплуатации электроустановок
page speed (0.0075 sec, direct)