- •Лабораторная работа по «тау» №4 Тема: Метод пространства состояний.
- •Цель работы:
- •Задачи работы:
- •Задание:
- •Формирование уравнения состояний
- •2.Определение устойчивости системы
- •3.Исследование наблюдаемости и управляемости системы.
- •4.Вычисление переходной матрицы.
- •5.Вычисление отклика системы.
- •А.С помощью полученной переходной функции.
- •Б. С помощью процедуры Фадеевой.
- •В. С помощью процедуры sim.
- •Выводы:
- •Оглавление
А.С помощью полученной переходной функции.
Отклик ищется как:
y(t)=CФ(t)x0 + CФ(t-v)Bu(v)dv +Du(t)
Если начальные условия системы заданы относительно значений выходов и их производных, то перед вычислением y(t) по выше представленной формуле необходимо записать вектор начальных состояний x0; это можно сделать только в случае полной наблюдаемости системы.
К сожалению, Program CC не смогло справиться с столь большой работой, поэтому для симуляции пришлось обратиться к помощь Matlab.
function lab4()
syms t v;
b=[1 0;0 0;0 0;0 1];
c=[0 4 0 0;0 0 0 4];
u1=[exp(-2*v)*sin(4*v);0];
u2=[exp(-2*v)*sin(4*v);6];
tv1=0:0.1:4;
tv2=0.1:0.1:8;
for i=1:length(tv1)
podint=c*ff(tv1(i)-v)*b*u1;
y0=yy0(tv1(i));
y1(i)=y0(1)+double(int(podint(1),v,0,tv1(i)));
end;
tv=tv1;
y=y1;
for i=1:length(tv2)
podint=c*ff(tv2(i)-v)*b*u2;
y2(i)=double(int(podint(1),v,0,tv2(i)));
end;
tv=[tv tv2+4,0];
y=[y y2];
plot(tv,y);
end
function y0=yy0(t)
c=[0 4 0 0;0 0 0 4];
z0=[-0,0375;0,2500;0,0250;0,500];
y0=c*ff(t)*z0;
end
function f=ff(t)
k=2.299*t+0.3666;
f(1,1)=-0.007019*sin(k)*exp(-1.153*t) + 0.006784*exp(-4.66*t)+ 0.9957*exp(-18.03*t) ;
f(1,2)=-0.2674*cos(2.299*t-0.5298)*exp(-1.153*t) + 0.01539*exp(-4.66*t) + 0.2154 *exp(-18.03*t) ;
f(1,3)=-0.05967*sin(2.299*t+0.5023)*exp(-1.153*t) + 0.04525*exp(-4.66*t)- 0.01652*exp(-18.03*t) ;
f(1,4)=-0.09742*sin(2.299*t-0.7157)*exp(-1.153*t) - 0.06805*exp(-4.66*t) + 0.004123*exp(-18.03*t);
f(2,1)= 0.02984*sin(2.299*t+0.5023)*exp(-1.153*t) - 0.02263*exp(-4.66*t) + 0.008262*exp(-18.03*t) ;
f(2,2)= 1.137*cos(2.299*t-0.3942)*exp(-1.153*t) - 0.05132*exp(-4.66*t) + 0.001787 *exp(-18.03*t) ;
f(2,3)= 0.2537*sin(2.299*t+0.6379)*exp(-1.153*t) - 0.1509*exp(-4.66*t)- 0.0001371*exp(-18.03*t);
f(2,4)= 0.4141*sin(2.299*t-0.5801)*exp(-1.153*t) + 0.2269*exp(-4.66*t)+ 3.421e-05*exp(-18.03*t) ;
f(3,1)= -0.07675*sin(2.299*t-0.6035)*exp(-1.153*t) + 0.1054*exp(-4.66*t) - 0.149*exp(-18.03*t);
f(3,2)= -2.924*sin(2.299*t+0.07083)*exp(-1.153*t) + 0.2391*exp(-4.66*t) - 0.03223*exp(-18.03*t);
f(3,3)= -0.6525*sin(2.299*t-0.4679)*exp(-1.153*t) + 0.7033*exp(-4.66*t) + 0.002473*exp(-18.03*t);
f(3,4)= 1.065*cos(2.299*t-0.1151)*exp(-1.153*t) - 1.058*exp(-4.66*t) - 0.0006169 *exp(-18.03*t) ;
f(4,1)= -0.04871*sin(2.299*t-0.7157)*exp(-1.153*t) - 0.03402*exp(-4.66*t)+ 0.002061*exp(-18.03*t) ;
f(4,2)= -1.856*sin(2.299*t-0.04135)*exp(-1.153*t) - 0.07717*exp(-4.66*t) + 0.0004458*exp(-18.03*t);
f(4,3)= -0.4141*sin(2.299*t-0.5801)*exp(-1.153*t) - 0.2269*exp(-4.66*t)- 3.421e-05*exp(-18.03*t) ;
f(4,4)= 0.6761*cos(2.299*t-0.2273)*exp(-1.153*t) + 0.3413*exp(-4.66*t) + 8.534e-06*exp(-18.03*t) ;
end
Результат:
Б. С помощью процедуры Фадеевой.
Матричная передаточная функция H(s) при нулевых начальных условиях может быть получена преобразованием Лапласа выражения
y(t) = CФ(t)z(0) + CФ(t-v)Bu(v)dv +Du(t)
и представлена в виде
H(s) = C*inv(s*I-A)*B + D
В пакете CC данное преобразование осуществляется функцией H = fadeeva(p), где p=pack(A,B,C,D).
CC>a= (-18,-4,0,0;0,0,1,0;2,-7,-5,4;0,-4,0,-2);
b=(1,0;0,0;0,0;0,1);
c=(0,4,0,0;0,0,0,4);
d=(0,0;0,0);
p=pack(a,b,c,d);
CC>h=fadeeva(p)
CC>h
#rows = 2, #columns = 2
Each element multiplied by:
1
h_c(s) = ———————————————————————————————
s^4 +25s^3 +143s^2 +344s +556
---- column # 1 ----
h(1,1)(s) = 8s+16
h(2,1)(s) = -32
---- column # 2 ----
h(1,2)(s) = 16s+288
h(2,2)(s) = 4s^3 +92s^2 +388s +536
Получили матрицу, с элементами равными полученным нами переходными. Далее вычисляем отклики по формуле
.
Вычисления производятся аналогично лаб2.
Результаты:
Y1
Y2