analisis del sistema lineal sin control por euler

Upload: jhonatan-ramos

Post on 14-Jan-2016

215 views

Category:

Documents


0 download

DESCRIPTION

Analisis Del Sistema Lineal Sin Control Por Euler

TRANSCRIPT

NOMBRE: BUENDIA QUILICHE , MIGUEL ANGEL COD. 20121101G

ANALISIS DEL SISTEMA LINEAL SIN CONTROL POR EULER

clear all; clc fprintf('Parametros del Sistema...\n'); R1=input('R1= '); R2=input('R2= '); C1=input('C1= '); C2=input('C2= '); te=input('Tiempo de Evaluacion [Escalon] : '); he=input('Periodo de Muestreo [h=0.1] : '); ne=te/he; f=input('Frecuencia de Evaluacion [f_seno]: '); w=2*pi*f; T=1/f; pe=input('Periodos de Evaluacion [Ts_seno] : '); hs=input('Periodo de Muestreo [h=0.01] : '); ns=pe*T/hs;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %respuesta escalon unitario fprintf('Funcion de Transferencia del Sistema...\n'); num=[1] den=[(R1*C1*R2*C2) (R1*C1+R2*C2+R1*C2) 1] printsys(num,den); step(num,den);

%RESPUESTA ESCALON UNITARIO POR EULER a1=((R1*C1+R2*C2+R1*C2)/(R1*C1*R2*C2)); a2=(1/(R1*C1*R2*C2)); b1=1; t(1)=0; u(1)=1; x1(1)=0; x2(1)=0; % Condiciones Iniciales %he=0.1; % Periodo de Muestreo %n=input('Numero de particiones: '); for i=1:ne t(i+1)=t(i)+he; u(i+1)=1; x1(i+1)=x1(i)+he*x2(i); % S.Euler x2(i+1)=x2(i)+he*(-a2*x1(i)-a2*x2(i)+b1*u(i)); % S.Euler end disp(' t u x1 x2') [t' u' x1' x2'] figure; plot(t,u,'r',t,x1,'g',t,x2,'b'), grid, zoom on legend('t vs u [Vi(t)]', 't vs x1 [I(x2)]', 't vs x2 [Vc(t)]', 'Location', 'Best') title('Solucion de Sistema Por Metodo de Euler') xlabel('t'), ylabel('u(t),x1(t),x2(t)') mx=0; Mx=max(t); my=min([min(u) min(x1) min(x2)]); My=max([max(u) max(x1) max(x2)]); axis([mx Mx my My])

%RESPUESTA AL SEN(t) POR EULER a1=((R1*C1+R2*C2+R1*C2)/(R1*C1*R2*C2)); a2=(1/(R1*C1*R2*C2)); b1=1; t=[]; u=[]; x1=[]; x2=[]; t(1)=0; u(1)=0; x1(1)=0; x2(1)=0; % Condiciones Iniciales %hs=0.01; % Periodo de Muestreo %n=input('Numero de particiones: '); for i=1:ns t(i+1)=t(i)+hs; u(i+1)=sin(w*t(i+1)); x1(i+1)=x1(i)+hs*x2(i); % S.Euler x2(i+1)=x2(i)+hs*(-a2*x1(i)-a1*x2(i)+b1*u(i)); % S.Euler end %disp(' t u x1 x2') %[t' u' x1' x2'] figure; plot(t,u,'r',t,x1,'g',t,x2,'b'), grid, zoom on legend('t vs u [Vi(t)]', 't vs x1 [I(x2)]', 't vs x2 [Vc(t)]', 'Location', 'Best') title('Solucion de Sistema Por Metodo de Euler') xlabel('t'), ylabel('u(t),x1(t),x2(t)') mx=0; Mx=max(t); my=min([min(u) min(x1) min(x2)]); My=max([max(u) max(x1) max(x2)]); axis([mx Mx my My])

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Simulation of program :

SISTEMA LINEAL CON CONTROL POR EULER

clear all; clc fprintf('Parametros del Sistema...\n'); R1=input('R1= '); C1=input('C1= '); R2=input('R2= '); C2=input('C2= '); fprintf('Parametros del Controlador...\n'); Kp=input('Kp[20]= '); % Kp = 20 Ki=input('Ki[50]= '); % Ki = 50 Kd=input('Kd[ 1]= '); % Kd = 1 h=input('Periodo de Muestreo [h=0.1] : '); te=input('Tiempo de Evaluacion [Escalon]: '); n=te/h;

% RESPUESTA AL ESCALON UNITARIO STANDARD fprintf('\nFuncion de Transferencia del Sistema...\n'); nums=[1]; dens=[(R1*C1*R2*C2) (R1*C1+R2*C2+R1*C2) 1]; printsys(nums,dens,'s'); fprintf('\nFuncion de Transferencia del Controlador...\n'); numc=[Kd Kp Ki]; denc=[0 1 0]; printsys(numc,denc); numg=conv(numc,nums); deng=conv(denc,dens); numh=[1]; denh=[1]; fprintf('\nF.T. del Sistema de Control...\n'); [numsc,densc]=feedback(numg,deng,numh,denh); printsys(numsc,densc); step(nums,dens); hold on, step(numsc,densc); grid, zoom on legend('Vc_S/C', 'Vc_C/C', 'Location', 'Best') title('Respuesta al Escalon Con y Sin Controlador') xlabel('t'), ylabel('Vc(t)CC&SC')

% RESPUESTA AL ESCALON UNITARIO POR EULER a1=Kd+1; a2=Kp+(R1*C1+R2*C2+R1*C2); a3=Ki+1; b1=Kd/(R1*C1+R2*C2+R1*C2); b2=Kp/(R1*C1+R2*C2+R1*C2); b3=Ki/(R1*C1+R2*C2+R1*C2); c1=a3/a1; c2=(b1*a3/(a1^2)-b3/a1); c3=a2/a1; c4=(a2*b1/(a1^2)-b2/a1); c5=b1/a1; t(1)=0; u(1)=1; x1(1)=0; x2(1)=0; % Condiciones Iniciales Vc(1)=0; Error(1)=Vc(1)-u(1); % Condiciones Iniciales %h=0.1; % Periodo de Muestreo %n=input('Numero de particiones: '); for i=1:n t(i+1)=t(i)+h; u(i+1)=1; x1(i+1)=x1(i)+h*(c1*x2(i)+c2*u(i)); % S.Euler x2(i+1)=x2(i)+h*(-x1(i)-c3*x2(i)-c4*u(i)); % S.Euler Vc(i+1)=x2(i+1)+c5*u(i+1); % S.Euler Error(i+1)=Vc(i+1)-u(i+1); % S.Euler end %disp(' t u x1 x2') %[t' u' x1' x2'] figure; plot(t,u,'r',t,Vc,'k',t,Error,'b'), grid, zoom on legend('t vs u [Vi(t)]', 't vs Vc(t)', 't vs Err(t)', 'Location', 'Best') title('Solucion de Sistema Por Metodo de Euler') xlabel('t'), ylabel('u(t),Vc(t),Err(t)') mx=0; Mx=max(t); my=min([min(u) min(Vc) min(Error)]); My=max([max(u) max(Vc) max(Error)]); axis([mx Mx my My])