MATLAB: Attempted to access time_u2(2602); index out of bounds because numel(time_u2)=1949. Error in plots (line 29) while(~any​(time_u2(L​T-L2))). HELP!

errorMATLAB

close all;
clear all;
clc;
load dadosU1.mat
temp1_u1 = temp1;
temp2_u1 = temp2;
time_u1 = time;
u1 = u;
load dadosU2.mat
temp1_u2 = temp1;
temp2_u2 = temp2;
time_u2 = time;
u2 = u;
Ts = 1;
Fs = 1/Ts;
LT = length(time_u1);
% Encontrando ponto de finalização de medidas para os vetores
L1 = 0;
while(~any(time_u1(LT-L1)))
L1 = L1 + 1;
end
L1 = LT-L1;
L2 = 0;
while(~any(time_u2(LT-L2)))
L2 = L2 + 1;
end
L2 = LT-L2;
figure(1)
subplot(2,1,1)
plot(time_u1(1:L1), temp1_u1(1:L1)),grid,zoom
subplot(2,1,2)
plot(time_u1(1:L1), u1(1:L1), 'green'),grid,zoom
title('Modelo G11');
figure(2)
subplot(2,1,1)
plot(time_u1(1:L1), temp2_u1(1:L1)),grid,zoom
subplot(2,1,2)
plot(time_u1(1:L1), u1(1:L1), 'green'),grid,zoom
title('Modelo G12');
figure(3)
subplot(2,1,1)
plot(time_u2(1:L2), temp1_u2(1:L2)),grid,zoom
subplot(2,1,2)
plot(time_u2(1:L2), u2(1:L2), 'green'),grid,zoom
title('Modelo G21');
figure(4)
subplot(2,1,1)
plot(time_u2(1:L2), temp2_u2(1:L2)),grid,zoom
subplot(2,1,2)
plot(time_u2(1:L2), u2(1:L2), 'green'),grid,zoom
title('Modelo G22');
%A partir do gráfico, os modelos a serem obtidos são:
k_11 = 49.51; t1_11 = 237.7; teta_11 = 17.55; %esses dados foram obtidos
%através do metodo gráfico
G11 = tf([k_11],[t1_11 1], 'InputDelay',teta_11);
figure(5)
subplot(2,2,1)
step(G11)
subplot(2,2,2)
margin(G11)
subplot(2,2,3)
bode(G11)
subplot(2,2,4)
nyquist(G11)
print('Dados G11', '-dpng'); %salvar a imagem
[gm11, pm11] = margin(G11); %margem de fase e ganho
k_12 = 39.65; t1_12 = 297.1; teta_12 = 60.65;
G12 = tf([k_12],[t1_12 1], 'InputDelay',teta_12);
figure(6)
subplot(2,2,1)
step(G12)
subplot(2,2,2)
margin(G12)
subplot(2,2,3)
bode(G12)
subplot(2,2,4)
nyquist(G12)
print('Dados G12', '-dpng');
[gm12, pm12] = margin(G12);
k_21 = 40.72; t1_21 = 368; teta_21 = 28.7;
G21 = tf([k_21],[t1_21 1], 'InputDelay',teta_21);
figure(7)
subplot(2,2,1)
step(G21)
subplot(2,2,2)
margin(G21)
subplot(2,2,3)
bode(G21)
subplot(2,2,4)
nyquist(G21)
print('Dados G21', '-dpng');
[gm21, pm21] = margin(G21);
k_22 = 48.145; t1_22 = 223.05; teta_22 = 20.85;
G22 = tf([k_22],[t1_22 1], 'InputDelay',teta_22);
figure(8)
subplot(2,2,1)
step(G22)
subplot(2,2,2)
margin(G22)
subplot(2,2,3)
bode(G22)
subplot(2,2,4)
nyquist(G22)
print('Dados G22', '-dpng');
[gm22, pm22] = margin(G22);
%parametros dos controladores PI pelo método SIMC
tc_11 = teta_11;
tc5_11 = 5*teta_11;
tc_12 = teta_12;
tc5_12 = 5*teta_12;
tc_21 = teta_21;
tc5_21 = 5*teta_21;
tc_22 = teta_22;
tc5_22 = 5*teta_22;
%Ganhos dos controladores pelo método SIMC
Kp_11 = t1_11/(k_11*(tc_11+teta_11))
Ti_11 = min(t1_11,4*(tc_11+teta_11))
Kp5_11 = t1_11/(k_11*(tc5_11+teta_11))
Ti5_11 = min(t1_11,4*(tc5_11+teta_11))
Kp_12 = t1_12/(k_12*(tc_12+teta_12))
Ti_12 = min(t1_12,4*(tc_12+teta_12))
Kp5_12 = t1_12/(k_12*(tc5_12+teta_12))
Ti5_12 = min(t1_12,4*(tc5_12+teta_12))
Kp_21 = t1_21/(k_21*(tc_21+teta_21))
Ti_21 = min(t1_21,4*(tc_21+teta_21))
Kp5_21 = t1_21/(k_21*(tc5_21+teta_21))
Ti5_21 = min(t1_21,4*(tc5_21+teta_21))
Kp_22 = t1_22/(k_22*(tc_22+teta_22))
Ti_22 = min(t1_22,4*(tc_22+teta_22))
Kp5_22 = t1_22/(k_22*(tc5_22+teta_22))
Ti5_22 = min(t1_22,4*(tc5_22+teta_22))
%%Critérios de desempenho
IAEMalha1 = sum(abs(u1(1:LT)- temp1_u1));
IAEMalha3 = sum(abs(u2 - temp1_u2));
IAEMalha2 = sum(abs(u1(1:LT)-temp2_u1));
IAEMalha4 = sum(abs(u2-temp2_u2));
s = tf([1 0],1);
C11 = Kp_11*(1 + 1/(t1_11*s));
C12 = Kp_12*(1 + 1/(t1_12*s));
C21 = Kp_21*(1 + 1/(t1_21*s));
C22 = Kp_22*(1 + 1/(t1_22*s));
malha1 = stepinfo(feedback(C11*G11,1));
malha2 = stepinfo(feedback(C12*G12,1));
malha3 = stepinfo(feedback(C21*G21,1));
malha4 = stepinfo(feedback(C22*G22,1));

Best Answer

Try:
plot(time_u2, temp2_u2(1:numel(time_u2)))
Related Question