Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зотова 1вариант.docx
Скачиваний:
6
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

Лабораторная работа 3 Описание систем в пространстве состояний

Целью работы:

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

Создадим матрицы первой системы –

>> A1=[5 3;2 1]

A1 =

5 3

2 1

>> B1=[-1;3]

B1 =

-1

3

>> C1=[1 2;2 -1]

C1 =

1 2

2 -1

>> A2=[1 0;1 2]

A2 =

1 0

1 2

>> B2=[1 1;;2 1]

B2 =

1 1

2 1

>> C2=[5 -2;2 3]

C2 =

5 -2

2 3

>> A3=[1 2;3 2]

A3 =

1 2

3 2

>> B3=[1;2]

B3 =

1

2

>> C3=[-1 2]

C3 =

-1 2

Создавая, аналогично, матрицы двух других систем создадим ss-объекты:

>> s1=ss(A1, B1, C1,0)

a =

x1 x2

x1 5 3

x2 2 1

b =

u1

x1 -1

x2 3

c =

x1 x2

y1 1 2

y2 2 -1

d =

u1

y1 0

y2 0

Continuous-time model.

>> s2=ss(A2, B2, C2,0)

a =

x1 x2

x1 1 0

x2 1 2

b =

u1 u2

x1 1 1

x2 2 1

c =

x1 x2

y1 5 -2

y2 2 3

d =

u1 u2

y1 0 0

y2 0 0

Continuous-time model.

>> s3=ss(A3, B3, C3,0)

a =

x1 x2

x1 1 2

x2 3 2

b =

u1

x1 1

x2 2

c =

x1 x2

y1 -1 2

d =

u1

y1 0

Continuous-time model.

3. Исследуем наблюдаемость и управляемость каждой системы, для чего построим соответствующие матрицы и посчитаем их ранги –

>> rank(ctrb(A1,B1))

ans =

2

>> rank(obsv(A1,C1))

ans =

2

>> rank(ctrb(A2,B2))

ans =

2

>> rank(obsv(A2,C2))

ans =

2

>> rank(ctrb(A3,B3))

ans =

2

>> rank(obsv(A3,C3))

ans =

2

Видно, что во всех случаях ранги матриц управляемости и наблюдаемости совпадают с размерностями пространства состояний.

4. Получим систему, определяемую соединением.

Для корректного использования функции connect введем дополнительную систему, передаточная функция которой равна 1 (рис).

>> s4=tf(1)

Transfer function:

1

>> sys=append(s1,s2,s3,s4);

>> Q=[2 -4 5;3 1 0;4 2 0;5 2 0];

>> in=[1 5];

>> out=[3 4];

Обращаясь к данным объекта, можно получить матрицы А, В, С:

>> s_com=connect(sys,Q,in,out);

>> A=s_com.A;

>> B=s_com.B;

>> C=s_com.C;

4. Вычислим ранги матриц наблюдаемости и управляемости итоговой системы:

>> rank(ctrb(A,B))

ans =

6

>> rank(obsv(A,C))

ans =

6

Вывод: Результаты показывают, что система управляема и наблюдаема.

УПРАВЛЯЕМАЯ СИСТЕМА [controlled system] — система, являющаяся объектом управления

Лабораторная работа 4 Устойчивость линейных систем Цель работы:

Ознакомление с критериями устойчивости и выявление у заданной управляемой линейной системы с полной обратной связью свойства асимптотической устойчивости.

1. Зададим матрицы, определяющие систему:

>> A=[5 3;2 1]

A =

5 3

2 1

>> B=[-1;3]

B =

-1

3

>> L=[2 2]

L =

2 2

2. Определим решение уравнения Ляпунова

>> G=dlyap(A, eye(2))

G =

0.1667 -0.4167

-0.4167 0.8333

3. Произведем расчет главных миноров

>> det(G(1:1,1:1))

ans =

0.1667

>> det(G)

ans =

-0.0347

>> G=dlyap(A+B*L, eye(2))

G =

-0.4983 0.6389

0.6389 -0.8472

>> det(G)

ans =

0.0140

>> det(G(1:1,1:1))

ans =

-0.4983

По критерию Сильвестра решение дискретного уравнения Ляпунова не является положительно-определенной матрицей, следовательно, система не является асимптотически устойчивой.

5. Приведем текст script-файла для определения устойчивости матрицы X на основе использования метода Раусса-Гурвица.

%получение коэффициентов характеристического полинома

x1=[0 0 0 0]

x1(1)=2

x2=[0 0 0 0]

x2(1)=1

for k=1:1:4

x1(k+1)=5*x1(k)+3*x2(k)-2*x1(k)+2*x2(k)

x2(k+1)=2*x1(k)+x2(k)+3*(2*x1(k)+2*x2(k))

end

subplot(221)

plot(x1)

subplot(222)

plot(x2)

4. Аналогично можно определить свойство асимптотической устойчивости в управляемой системе.

G=dlyap(A+B*L, eye(2))

det(G)

det(G(1:1,1:1))

По критерию Сильвестра решение дискретного уравнения Ляпунова не является положительно-определенной матрицей, следовательно, система не является асимптотически устойчивой.

5. Приведем текст script-файла для определения устойчивости матрицы X на основе использования метода Раусса-Гурвица.

%получение коэффициентов характеристического полинома

lm= poly(А);

%определение размерности

[L, N] =size(lm);

%создание матрицы с нулевыми значениями

g=zeros(N, N);

%заполнение нечетных строк матрицы Гурвица

s=0

for i=1:2:N

j=1

j=j+s

r=0

for r=1:2:N

g(i,j)=Im(r)

j=j+1

end

s=s+1

end

%заполнение четных строк матрицы Гурвица

s=0

for i=2:2:N

j=1;

j=j+s;

r=0;

for r=1:2:N

g(i,j)=Im(r);

j=j+1;

end

s=s+1;

end

g=g(1:N-1, 1:N-1);

%вычисление главных миноров

minor=1;

for i=1:N-1

dd = det(g(1:i, 1:i));

if dd<0

minor=0;

end

end

if minor==0

disp('СИСТЕМА НЕ УСТОЙЧИВА');

else

disp('СИСТЕМА УСТОЙЧИВА');

end

x1=[0 0 0 0]

x1(1)=2

x2=[0 0 0 0]

x2(1)=1

for k=1:1:9

x1(k+1)=5*x1(k)+3*x2(k)-2*x1(k)+2*x2(k)

x2(k+1)=2*x1(k)+x2(k)+3*(2*x1(k)+2*x2(k))

end

СИСТЕМА УСТОЙЧИВА

Результат вычисления показывает, что система управления не является асимптотически устойчивой.

График динамики управляемой системы при начальных условиях

subplot(223)

plot(x1)

subplot(224)

plot(x2)

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

Вывод: Результат вычисления показывает, что система управления является асимптотически устойчивой.

Тривиальное решение x = 0 системы (1) называется асимптотически устойчивым, если оно устойчиво по Ляпунову и выполняется условие

для всякого с начальным условием x0, лежащим в достаточно малой окрестности нуля.

Лабораторная 5