Отчет 1
.docГУАП
КАФЕДРА № 14
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
доц., канд. техн. наук |
|
|
|
Г.С. Бритов |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №1 |
Описание систем в пространстве состояний |
по курсу: ТЕОРИЯ СИСТЕМ И СИСТЕМНЫЙ АНАЛИЗ |
|
|
РАБОТУ ВЫПОЛНИЛИ
СТУДЕНТЫ ГР. № |
4716 |
|
|
|
Е.А. Шуб С.А. Янышева |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2019
Содержание
Описание систем в пространстве состояний 1
по курсу: ТЕОРИЯ СИСТЕМ И СИСТЕМНЫЙ АНАЛИЗ 1
Постановка задачи 3
Математическая модель 3
Уравнения 3
Матрицы 3
Программы 4
Сценарий 4
Функции 4
Результаты моделирования 4
Диалог 4
Графики 6
Выводы 8
Постановка задачи
Исследовать динамические характеристики системы, математическая модель которой представлена описанием в пространстве состояний.
Для выполнения работы необходимо решить следующие задачи:
Написать программу-сценарий в математическом пакете MatLab, который обеспечивает следующие возможности исследования системы:
Ввод матриц уравнений состояний.
Анализ динамических характеристик.
Расчет реакции на заданные входные воздействия.
Просмотр полученных результатов.
Написать необходимые для сценария функции.
Выполнить моделирование системы для заданного ее зачетного варианта.
Математическая модель
Уравнения
x(t+1) = Ax(t) + Bu(t), x(0) = x0
y(t) = Cx(t) + Du(t),
s=eig(A)
R=max(abs(eig(A)))
H = obsv(A, C)
rank(H) = n
G = ctrb(A, B)
[y,x] = dlsim(A,B,C,D,u,x0)
Матрицы
A =
0.6000 0.4000 0.6000
0.1000 0.4000 0.5000
0.3000 0.2000 -0.1000
Ввести матрицу B =[1 0 0]
B =
1
0
0
Ввести матрицу C =[0 0 1]
C =
0 0 1
Программы
Сценарий
%Сценарий моделирования объектов
while 1
upr = menu ('Режим:', 'Ввод', 'Вычисления', 'Просмотр', 'Выход');
if upr == 1
disp('Начало ввода')
A=input('Ввести матрицу А =')
B=input('Ввести матрицу B =')
C=input('Ввести матрицу C =')
k=input('Ввести число шагов k =')
x0=input('Ввести вектор начальных условий х0 =')
a=input('первый предел a=');
b=input('первый предел b=');
disp(' Конец ввода')
elseif upr == 2
disp('Вычисления ...')
D=zeros(size(C,1),size(B,2));
s=eig(A);
G=ctrb(A,B);
H=obsv(A, C);
g=rank(G);
h=rank(H);
u=a+b*randn(1,k);
[y,x] = dlsim(A,B,C,D,u,x0);
disp('Конец вычислений ')
elseif upr == 3
disp('Просмотр')
t=0:k-1;
plot(s)
figure(2)
plot(t,u)
figure(3)
plot(t,y)
figure(4)
plot(t,x)
disp('Конец просмотра ')
elseif upr == 4
disp ('Выход из программы')
break
end
end
Функции
Не требуются
Результаты моделирования
Диалог
>> lab1
Начало ввода
Ввести матрицу А =[1-0.1-0.3 0.4 0.6;0.1 1-0.4-0.2 0.5; 0.3 0.2 1-0.5-0.6]
A =
0.6000 0.4000 0.6000
0.1000 0.4000 0.5000
0.3000 0.2000 -0.1000
Ввести матрицу B =[1 0 0]
B =
1
0
0
Ввести матрицу C =[0 0 1]
C =
0 0 1
Ввести число шагов k =10
k =
10
Ввести вектор начальных условий х0 =0
x0 = [0;0;0]
0
0
0
первый предел a=0
первый предел b=10
Конец ввода
Вычисления ...
Конец вычислений
Просмотр
Конец просмотра
Выход из программы
>>
Графики
Рисунок 1 – Спектр
Рисунок 2 – Входной сигнал
Рисунок 3 – Выходной сигнал
Рисунок 4
Выводы
Исследованы динамические характеристики системы по заданному варианту, написаны программу-сценарий в математическом пакете MatLab, который обеспечивает следующие возможности исследования системы:
Ввод матриц уравнений состояний.
Анализ динамических характеристик.
Расчет реакции на заданные входные воздействия.
Просмотр полученных результатов.
Написаны необходимые для сценария функции и выполнили моделирование системы для заданного ее зачетного варианта.