WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI
INSTYTUT AUTOMATYKI I INFORMATYKI
KIERUNEK AUTOMATYKA I ROBOTYKA
STUDIA STACJONARNE I STOPNIA
PRZEDMIOT : LABORATORIUM PODSTAW AUTOMATYKI
ĆW nr 5
TEMAT: UKŁADY Z OPÓŹNIENIEM.
NAZWISKO: DĄBEK IMIĘ: DOMINIKA
TERMIN WYKONANIA: 14-04-2011 TERMIN ODDANIA: : 28-04-2011
Prowadzący:
Dr inż. Grzegorz Bialic
Zad. 1
Schemat układu:
Kod:
clear all
close all
k = 1
T = 1
op = 2
sim('model1.mdl',[0 8]);
figure;
hold on;
plot(tout(:,1),simout(:,1),'b');
plot(tout(:,1),simout(:,2),'g');
plot(tout(:,1),simout(:,3),'r');
title('Step response');
xlabel('Time(sec)');
ylabel('Amplitude');
legend('Uklad z opoznieniem','Aproksymacja Pade''go 1-go rzedu','Aproksymacja Pade''go 2-go rzedu');
hold off;
Jak widać, aproksymacja wyższego (II) stopnia lepiej oddaje przebieg odpowiedzi skokowej układu niż aproksymacja niższego stopnia.
Zad. 2
Schemat układu:
Kod:
clear all
close all
op=1;
n=5;
[licz,mian] = pade(op,n);
a=0.4;
b=1;
z1=[];
p1=[-5 -5 -5 -5 -5 -5 -5 -5 -5 -5];
k1=5^10;
sim('model2.mdl',[0 8]);
figure;
subplot(121)
hold on;
plot(tout(:,1),simout(:,1),'b');
plot(tout(:,1),simout(:,2),'g');
a=0.8
b=1
sim('model2.mdl',[0 8]);
plot(tout(:,1),simout(:,2),'r');
title('Step response');
xlabel('Time(sec)');
ylabel('Amplitude');
legend('Uklad 10-go rzedu','Uklad 2-go rz. z op. a=0.4, b=1','Uklad 2-go rz. z op. a=0.8, b=1');
hold off;
subplot(122)
hold on;
plot(tout(:,1),simout(:,1),'b');
plot(tout(:,1),simout(:,2),'g');
a=0.4
b=1.5
sim('model2.mdl',[0 8]);
plot(tout(:,1),simout(:,2),'r');
title('Step response');
xlabel('Time(sec)');
ylabel('Amplitude');
legend('Uklad 10-go rzedu','Uklad 2-go rz. z op. a=0.4, b=1','Uklad 2-go rz. z op. a=0.4, b=1.5');
hold off;
Zad. 3
Schemat układu:
Kod:
aproks.m
function e=aproks(x)
global a b licz mian z1 p1 k1
a=x(1);
b=x(2);
op=x(3);
n=5;
[licz,mian] = pade(op,n);
z1=[];
p1=[-5 -5 -5 -5 -5 -5 -5 -5 -5 -5];
k1=5^10;
sim('model2.mdl');
e = sum((simout(:,1)-simout(:,2)).^2);
end
Skrypt, wywołujący funkcję fminsearch:
clear all
close all
global a b licz mian z1 p1 k1
[wynik, c] = fminsearch(@aproks,[1 1 1]);
a = wynik(1)
b = wynik(2)
op = wynik(3)
sim('model2.mdl',[0 8]);
figure;
hold on;
plot(tout(:,1),simout(:,1),'b');
plot(tout(:,1),simout(:,2),'g');
legend('Uklad 10-go rzedu','Uklad 2-go rzedu z opoznieniem');
hold off;
Jak widać, możliwy jest dobór odpowiednich parametrów tak by układ 2-go rzędu z opóźnieniem, dobrze przybliżał układ znacznie wyższego rzędu, tak jak w tym przypadku, 10-go rzędu. Pozwala to upraszczać układy wysokiego rzędu za pomocą niższych z niewielkim błędem.