close all;clear all;clc;load dadosU1.mattemp1_u1 = temp1;temp2_u1 = temp2;time_u1 = time;u1 = u;load dadosU2.mattemp1_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;endL1 = LT-L1;L2 = 0;while(~any(time_u2(LT-L2))) L2 = L2 + 1;endL2 = LT-L2;figure(1)subplot(2,1,1)plot(time_u1(1:L1), temp1_u1(1:L1)),grid,zoomsubplot(2,1,2)plot(time_u1(1:L1), u1(1:L1), 'green'),grid,zoomtitle('Modelo G11');figure(2)subplot(2,1,1)plot(time_u1(1:L1), temp2_u1(1:L1)),grid,zoomsubplot(2,1,2)plot(time_u1(1:L1), u1(1:L1), 'green'),grid,zoomtitle('Modelo G12');figure(3)subplot(2,1,1)plot(time_u2(1:L2), temp1_u2(1:L2)),grid,zoomsubplot(2,1,2)plot(time_u2(1:L2), u2(1:L2), 'green'),grid,zoomtitle('Modelo G21');figure(4)subplot(2,1,1)plot(time_u2(1:L2), temp2_u2(1:L2)),grid,zoomsubplot(2,1,2)plot(time_u2(1:L2), u2(1:L2), 'green'),grid,zoomtitle('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));
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(LT-L2))). HELP!
errorMATLAB
Best Answer