-
Notifications
You must be signed in to change notification settings - Fork 0
/
pid_minimum_phase.m
56 lines (53 loc) · 1.1 KB
/
pid_minimum_phase.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
%% Script Quadruple Tanks for Minimum Phase
% Decouplers - IN TEST
W1 = eye(2); W2 = eye(2);
%% Executa modelo em malha fechada
clear simOut;
simOut = sim('quadtanks_pid',simulation_time);
%% Resultados
%% Plot resposta em malha aberta para o modelo de fase minima
figure
% G11(s)
subplot(2,2,1);
plot(simOut,U1t1);
hold on;
plot(simOut,Yt_gs11, 'r');
grid on;
xlabel('Time (ms)');
ylabel('Amplitude');
title(sprintf('Resposta modelo\nfase mínima G11(s)'));
axis auto
datacursormode on
% G12(s)
subplot(2,2,2);
plot(simOut,U1t1);
hold on;
plot(simOut,Yt_gs12, 'r');
grid on;
xlabel('Time (ms)');
ylabel('Amplitude');
title(sprintf('Resposta modelo\nfase mínima G12(s)'));
axis auto
datacursormode on
% G21(s)
subplot(2,2,3);
plot(simOut,U2t2);
hold on;
plot(simOut,Yt_gs21, 'r');
grid on;
xlabel('Time (ms)');
ylabel('Amplitude');
title(sprintf('Resposta modelo\nfase mínima G21(s)'));
axis auto
datacursormode on
% G22(s)
subplot(2,2,4);
plot(simOut,U2t2);
hold on;
plot(simOut,Yt_gs22, 'r');
grid on;
xlabel('Time (ms)');
ylabel('Amplitude');
title(sprintf('Resposta modelo\nfase mínima G22(s)'));
axis auto
datacursormode on