% Resposta do veiculo a obstaculos na pista %%Parametros clear all; clc; %close all; m=1000; k = 2000; b = 500; t = 0:0.01:10; u = 0.25.*[zeros(1,100),ones(1,length(t)-100)]; p1=plot(t,u,'r-.'); hold on %% Equacao diferencial: % d^n/dt^n {y} + a_(n-1) d^n-1/dt^n-1 y + a_1 d/dt {y} + a_0 {y} = % b_m d^m/dt^m {u} + b_(m-1) d^m-1/dt^m-1 u + b_1 d/dt {u} + b_0 {u} % onde: % b=[b_m,b_{m-1},b_{m-2},...,b_1,b_0] vetor de coeficientes; % a=[1, a_{n-1},a_{n-2},...,a_1,a_0] vetor de coeficientes do lado esquerdo da equacao; % u= vetor de instantes conhecidos do sinal u(t)especificados na equacao; % t= vetor da mesma dimensao de u, o k-esimo elemento t(k) de t eh o tempo, % em segundos, no qual ocorre a entrada u(k); % y= vetor da mesma dimensao de u e t que representa instantes do sinal % y(t) que satisfazem a equacao. % %O comando MatLab é: y=lsim(b,a,u,t) % % d^2/dt^2 {y} + b/m d/dt {y} + k/m {y} = b/m d/dt {u} + k/m {u} a1=b/m; a0=k/m; b1=b/m; b0=k/m; ##a=[1,a1,a0]; ##b=[b1,b0]; ##y=lsim(b,a,u,t); p2=plot(t,y,'b-'); grid on hold on %% Duplicando o amortecimento m=1000; k = 2000; b = 2*500; a=[1,a1,a0]; b=[0,1/m]; y=lsim(b,a,u,t); p3=plot(t,y,'g-'); hold on %% Duplicando o amortecimento de novo.... m=1000; k = 2000; b = 4*500; a1=b/m; a0=k/m; b1=b/m; b0=k/m; a=[1,a1,a0]; b=[b1,b0]; y=lsim(b,a,u,t); p4=plot(t,y,'m-'); xlabel('Tempo [s]'); ylabel('Altura [m]'); title('Reacao do carro a obstaculo na pista'); legend([p1,p2,p3,p4],'Altura obstaculo u',... 'Resposta y do carro y, para b','Resposta y do carro, para 2b',... 'Resposta y do carro, para 4b'); hold off