различные ДЗ (И5-2006)

Посмотреть архив целиком

Московский ордена Ленина, ордена Октябрьской Революции

и ордена Трудового Красного Знамени

государственный технический университет им. Н.Э. Баумана


Кафедра «Робототехнические системы»












Домашнее задание по курсу

УТС ч. 5 «Оптимальное управление»









Выполнил: студент группы РК10-91 Крутиков С.Л.


Проверил: Зенкевич С.Л.












2006г.

Задание



  1. Получение необходимых данных.




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



  1. Поиск оптимального управления.




Рис. 1. График зависимости элементов матрицы S(t) от времени (результаты численного интегрирования дифференциального уравнения Рикатти).



Рис. 2. График зависимости фазовых координат системы от времени (реакция системы на полученное оптимальное управление).


Рис. 3. Фазовый портрет системы.




Приложение. Текст скриптов.


Мфункция "dz.m"


% DESCRIPTION

%[t X]=dz(A,B,Q,tf,x0) solves hometask on the "Optimal control" course for

%students of RK10-9x groups.

%The arguments of the function:

% A,B are linear continious stationary system canonical state-space form

% matrices: dX/dt=AX+BU, where X is state vector of the system, and

% U - control vector.

% Q is the constant matrix of quadratic form X'QX in the functional.

% tf is the final time.

% x0 is the initial conditions vector.

%The outputs of the function:

% X is reaction of the system on the optimal control (numerical solution

% of the system's differential equation).

% t is corresponding to X time vector.

%P.S. THIS FUNCTION WORKS WITH THE ANY ORDER SYSTEM.

function [t X]=dz(A,B,Q,tf,x0)

% Initialization of unknown matrix S(t).

N=size(A,1);

k=0;

for i=1:N

for j=i:N

k=k+1;

S(i,j)=sym(strcat('s',int2str(i),int2str(j)));

S(j,i)=S(i,j);

end;

end

% Putting known matrices from Rikatti differential equation to symbol type.

a=sym(A);

b=sym(B);

q=sym(Q);

% Computation of right part of Rikatti differential equation.

R=-S*a-a'*S+S*b*b'*S-q;

% Numerical integration of Rikatti differential equation.

[t X]=ode45(@(t,s) right(t,s,R,S,k,N),[tf 0],zeros(1,k));

% Plotting dependance of matrix S(t) elements on time.

figure(1);

plot(t,X(:,1),'-',t,X(:,2),'-.',t,X(:,3),'-')

legend('S(1,1)','S(1,2)','S(2,2)')

xlabel('Time, sec')

ylabel('S(i,j)')

title('Matrix S(t) elements vs time')

grid on

% Computation of cubic spline for matrix S(t).

S1=spline(t,X');

% Numerical integration of system's differential equation.

[t X]=ode45(@(t1,x) right1(t1,x,S1,A,B,N),[0 tf],x0);

% Plotting dependance of phase coordinates on time.

figure(2);

plot(t,X(:,1),'-',t,X(:,2),'-.')

legend('X(1)','X(2)')

xlabel('Time, sec')

ylabel('X(i)')

title('Phase coordinates vs time')

grid on

% Plotting phase-plane portrait of the system.

figure(3);

plot(X(:,1),X(:,2))

xlabel('X(1)')

ylabel('X(2)')

title('Phase-plane portrait of the system')

grid on


Мфункция "right.m"


% This function every step computes numerical value of right part

% of Rikatti differential equation.

function ds=right(t,s,R,S,k,N)

ds=zeros(k,1);

for i=1:N

for j=i:N

a(i+j-1)=S(i,j);

end;

end

temp=sym('0');

for i=1:N

for j=i:N

temp=R(i,j);

for m=1:k

temp=subs(temp,a(m),s(m));

end;

ds(i+j-1)=double(temp);

end;

end





Мфункция "right1.m"


% This function every step computes numerical value of right part

% of system's differential equation.

function dx=right1(t,x,a,A,B,N)

dx=zeros(N,1);

s=ppval(a,t);

for i=1:N

for j=i:N

S(i,j)=s(i+j-1);

S(j,i)=S(i,j);

end;

end

dx=(A-B*B'*S)*x;




Случайные файлы

Файл
3282-1.rtf
153243.rtf
164484.rtf
9381-1.rtf
ref-19893.doc




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.