#Roberto Mtz # #Funciones de analisis de respuesta de un RLC #Este programa se analiza el tiempo y la frecuencia de las respuestas de mi circuito #del proyecto de Automatizacion. #Analisis de frecuencia. function tran_fun = genera_Bode(R) L = 1; C = 1; a = 1; w = 1; phi = 1; #Sistema a analizar Sistema = tf([(L+a*sin(phi)) (w*a*cos(phi))], [((2*L*2)/C) (2*R*L**2+(((2*R*L**2)/C)+L**2)) (2*(R**2)*L)+(R*(L**2)*C)+(R*L)+((2*(L**2)*(w**2))/C) (((R**2)*L*C)+(2*R*(L**2)*(w**2))+((2*R*L*(w**2))/C)) (2*(R**2)*L*(w**2))]); #El digrama de bode bode(Sistema); print(strcat("bode-", num2str(R)), "-dpng"); return endfunction #Genera graficas de Bode en diferentes rangos de R function ana_frec = frecuencia() for i = 50:100 genera_Bode(i); endfor endfunction #Genera grafica bode en conjunto function tran_fun = genera_Bode_color() L = 1; C = 1; a = 1; w = 1; phi = 1; #Multiples sistemas con diferentes R R1 = 1; Sis1 = tf([(L+a*sin(phi)) (w*a*cos(phi))], [((2*L*2)/C) (2*R1*L**2+(((2*R1*L**2)/C)+L**2)) (2*(R1**2)*L)+(R1*(L**2)*C)+(R1*L)+((2*(L**2)*(w**2))/C) (((R1**2)*L*C)+(2*R1*(L**2)*(w**2))+((2*R1*L*(w**2))/C)) (2*(R1**2)*L*(w**2))]); R2 = 5; Sis2 = tf([(L+a*sin(phi)) (w*a*cos(phi))], [((2*L*2)/C) (2*R2*L**2+(((2*R2*L**2)/C)+L**2)) (2*(R2**2)*L)+(R2*(L**2)*C)+(R2*L)+((2*(L**2)*(w**2))/C) (((R2**2)*L*C)+(2*R2*(L**2)*(w**2))+((2*R2*L*(w**2))/C)) (2*(R2**2)*L*(w**2))]); R3 = 10; Sis3 = tf([(L+a*sin(phi)) (w*a*cos(phi))], [((2*L*2)/C) (2*R3*L**2+(((2*R3*L**2)/C)+L**2)) (2*(R3**2)*L)+(R3*(L**2)*C)+(R3*L)+((2*(L**2)*(w**2))/C) (((R3**2)*L*C)+(2*R3*(L**2)*(w**2))+((2*R3*L*(w**2))/C)) (2*(R3**2)*L*(w**2))]); R4 = 20; Sis4 = tf([(L+a*sin(phi)) (w*a*cos(phi))], [((2*L*2)/C) (2*R4*L**2+(((2*R4*L**2)/C)+L**2)) (2*(R4**2)*L)+(R4*(L**2)*C)+(R4*L)+((2*(L**2)*(w**2))/C) (((R4**2)*L*C)+(2*R4*(L**2)*(w**2))+((2*R4*L*(w**2))/C)) (2*(R4**2)*L*(w**2))]); R5 = 40; Sis5 = tf([(L+a*sin(phi)) (w*a*cos(phi))], [((2*L*2)/C) (2*R5*L**2+(((2*R5*L**2)/C)+L**2)) (2*(R5**2)*L)+(R5*(L**2)*C)+(R5*L)+((2*(L**2)*(w**2))/C) (((R5**2)*L*C)+(2*R5*(L**2)*(w**2))+((2*R5*L*(w**2))/C)) (2*(R5**2)*L*(w**2))]); R6 = 80; Sis6 = tf([(L+a*sin(phi)) (w*a*cos(phi))], [((2*L*2)/C) (2*R6*L**2+(((2*R6*L**2)/C)+L**2)) (2*(R6**2)*L)+(R6*(L**2)*C)+(R6*L)+((2*(L**2)*(w**2))/C) (((R6**2)*L*C)+(2*R6*(L**2)*(w**2))+((2*R6*L*(w**2))/C)) (2*(R6**2)*L*(w**2))]); R7 = 100; Sis7 = tf([(L+a*sin(phi)) (w*a*cos(phi))], [((2*L*2)/C) (2*R7*L**2+(((2*R7*L**2)/C)+L**2)) (2*(R7**2)*L)+(R7*(L**2)*C)+(R7*L)+((2*(L**2)*(w**2))/C) (((R7**2)*L*C)+(2*R7*(L**2)*(w**2))+((2*R7*L*(w**2))/C)) (2*(R7**2)*L*(w**2))]); #El digrama de bode con multiples salidas #bode(Sis1); bode(Sis2); set(findobj (gcf, "type", "axes"), "nextplot", "add"); bode(Sis3); bode(Sis4); bode(Sis5); bode(Sis6); bode(Sis7); print("bode-junto", "-dpng"); return endfunction #Analisis de tiempo de respuesta. function tran_fun = genera_ondas(W_onda) L = 1; C = 1; a = 1; w = 1; phi = 1; R = 15; #Sistema a analizar Sistema = tf([(L+a*sin(phi)) (w*a*cos(phi))], [((2*L*2)/C) (2*R*L**2+(((2*R*L**2)/C)+L**2)) (2*(R**2)*L)+(R*(L**2)*C)+(R*L)+((2*(L**2)*(w**2))/C) (((R**2)*L*C)+(2*R*(L**2)*(w**2))+((2*R*L*(w**2))/C)) (2*(R**2)*L*(w**2))]); Tiempo = 0:0.05:300; lsim(Sistema, sin(W_onda*Tiempo), Tiempo), title(strcat("w = ", num2str(W_onda))); print(strcat("ondas-", num2str(W_onda*10)), "-dpng"); endfunction #Genera ondas con diferentes w function ana_frec = onda_lsim() for i = 0.00:0.10:2.0 genera_ondas(i); endfor endfunction