Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к ЛР ПОСУ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.18 Mб
Скачать

Введение

Целью лабораторных работ является ознакомление студентов с вычислительными аспектами проектирования оптимальных систем управления с применением лабораторного оборудования в виде вычислительных машин оснащенных общематематическим программным обеспечением (MATLAB).

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

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

1. Аналитическое и численное решение дифференциальных уравнений.

1.1 Аналитическое решение дифференциального уравнения 1 порядка методом преобразования Лапласа.

Табличное значение

Применяем табличное значение к нашему случаю

1.2. Аналитическое решение дифференциального уравнения 2 порядка методом преобразования Лапласа.

1.2.1. Вещественные корни характеристического уравнения

В соответствии с таблицей

1.2.2. Комплексные корни характеристического уравнения

1.3. Численное решение дифференциального уравнения (п. 1.1.) с помощью функции ODE45 из MATLAB.

Файл Main1.m

[t,y]=ode45(@odefun1,[0 3],1);

plot(t,y);

Файл Odefun1.m

function f=odefun1(t,y)

f=-2*y;

1.4. Численное решение дифференциального уравнения (п. 1.2.1.) с помощью функции ODE45 из MATLAB.

Следует отметить, что набор экспонент в решении дифура существенно зависит от начальных условий.

Файл Main2.m

%exp(-t) and exp(-2*t)

x10=1;

x20=1;

%exp(-t) only

x10=1;

x20=-1;

%exp(-2*t) only

x10=0.5;

x20=-1;

t0=0;

tm=10;

[t,x]=ode45(@odefun2,[t0 tm],[x10,x20]);

%вычисление переменных y1 и y2 необходимо для сравнения %графиков аналитического и численного решений

y1=(2*x10+x20)*exp(-t)-(x10+x20)*exp(-2*t);

y2=(-2*x10-x20)*exp(-t)+(2*x10+2*x20)*exp(-2*t);

plot(t,x(:,1),'r',t,x(:,2),'g',t,y1,'bo',t,y2,'ko');

Файл Odefun2.m

function f=odefun2(t,x)

f=[x(2);-2*x(1)-3*x(2)];

1.5. Численное решение дифференциального уравнения (п. 1.2.2.) с помощью функции ode45 из matlab.

Следует отметить, что в MALLAB скрипте необходимо правильно выбирать обозначение для операции умножения. Требуется точно указать собираемся ли мы выполнять умножение матриц (*) или почленное умножение элементов массивов (.*).

Файл Main3.m

x10=2;

x20=1;

t0=0;

tm=10;

[t,x]=ode45(@odefun3,[t0,tm],[x10,x20]);

%вычисление переменных y1 и y2 необходимо для сравнения %графиков аналитического и численного решений

y1=(x10+x20)*exp(-t).*sin(t)+(x10)*exp(-t).*cos(t);

y2=-(2*x10+x20)*exp(-t).*sin(t)+(x20)*exp(-t).*cos(t);

plot(t,x(:,1),'r',t,x(:,2),'g',t,y1,'bo',t,y2,'ko');

Файл Odefun3.m

function f=odefun3(t,x)

f=[x(2);-2*x(1)-2*x(2)];

1.6. Аналитическое решение дифференциального уравнения 3 порядка с помощью matlab.

Уравнения объекта в матричном виде

где

Собственные числа (корни характеристического уравнения) определим с помощью функции EIG

A=[0,1,0;0,0,1;-2,-4,-3]

eig(A)

ans =

-9.999999999999991e-001

-9.999999999999994e-001 +1.000000000000002e+000i

-9.999999999999994e-001 -1.000000000000002e+000i

Аналитическое решение получим с помощью функции DSOLVE

S=dsolve('Dx1=x2','Dx2=x3',' Dx3=-3*x3-4*x2-2*x1','x1(0)=1','x2(0)=0','x3(0)=0')

S =

x1: [1x1 sym]

x2: [1x1 sym]

x3: [1x1 sym]

>> S.x1

ans =

-exp(-t)*(-2-sin(t)+cos(t))

>> S.x2

ans =

exp(-t)*(2*cos(t)-2)

>> S.x3

ans =

-exp(-t)*(2*sin(t)+2*cos(t)-2)

Графики переходных процессов построим с помощью функций ODE45 и PLOT.

Файл Main4.m

x10=1;

x20=0;

x30=0;

tm=4;

[t,x]=ode45(@odefun4,[0 tm],[x10,x20,x30]);

y1=-exp(-t).*(-2-sin(t)+cos(t));

y2= exp(-t).*(2*cos(t)-2);

y3=-exp(-t).*(2*sin(t)+2*cos(t)-2);

plot(t,x(:,1),'r',t,x(:,2),'g',t,x(:,3),'b', t,y1,'ro',t,y2,'go',t,y3,'bo')

Файл Odefun4.m

function f=odefun4(t,x)

f=[x(2);x(3);-3*x(3)-4*x(2)-2*x(1)];