%%% インパルス応答・ステップ応答 %%%
clear;

t=0:0.001:5;

%プラントの定義
w=4.7;
tuta1=0.5;
tuta2=1;
tuta3=1.5;

m=0.8;
k1=m*w^2;
c1=2*tuta1*w;
k2=m*w^2;
c2=2*tuta2*w;
k3=m*w^2;
c3=2*tuta3*w;

%伝達関数表現
num1=[0 0 1];
den1=[m c1 k1];
num2=[0 0 1];
den2=[m c2 k2];
num3=[0 0 1];
den3=[m c3 k3];

%状態空間表現
A1=[0 1
   -k1/m -c1/m];
B=[0
   1/m];
C=[1 0];
D=0;
A2=[0 1
   -k2/m -c2/m];
B=[0
   1/m];
C=[1 0];
D=0;
A3=[0 1
   -k3/m -c3/m];
B=[0
   1/m];
C=[1 0];
D=0;

%インパルス応答
ys1=step(num1,den1,t);
ys2=step(num2,den2,t);
ys3=step(num3,den3,t);
yi1=impulse(A1,B,C,D,1,t);
yi2=impulse(A2,B,C,D,1,t);
yi3=impulse(A3,B,C,D,1,t);

%グラフのプロット
figure(1)
subplot(3,1,1),plot(t,yi1)
axis([0 3 -0.05 0.2])
grid
ylabel('x')
title('Impulse response (tuta=0.5)')

subplot(3,1,2),plot(t,yi2)
axis([0 3 -0.05 0.2])
grid
ylabel('x')
title('Impulse response (tuta=1.0)')

subplot(3,1,3),plot(t,yi3)
axis([0 3 -0.05 0.2])
grid
xlabel('Time(sec)'),ylabel('x')
title('Impulse response (tuta=1.5)')

figure(2)
subplot(3,1,1),plot(t,ys1)
axis([0 3 0 0.1])
grid
ylabel('x')
title('Step response (tuta=0.5)')

subplot(3,1,2),plot(t,ys2)
axis([0 3 0 0.1])
grid
ylabel('x')
title('Step response (tuta=1.0)')

subplot(3,1,3),plot(t,ys3)
axis([0 3 0 0.1])
grid
xlabel('Time(sec)'),ylabel('x')
title('Step response (tuta=1.5)')

