3.4.3 時間応答 ― MATLAB


 制御対象の状態空間表現の定義 ...... M ファイル plant.m (p.59)
clear
format compact

A = [  0  1
     -10 -2 ];
B = [ 0
      1 ];
C = [ 1  0 ];
D = 0;
sysP = ss(A,B,C,D);

 シミュレーション結果の表示 ...... M ファイル plot_data.m (p.59)
plot(t,y);
grid;
xlabel('t [s]');
ylabel('y(t)');


(b) 零状態応答と単位ステップ応答


 単位ステップ応答とインパルス応答の描画 ...... M ファイル zero_state_step_impulse.m (p.61)
plant
    
t = 0:0.01:5;

y = step(sysP,t);
figure(1); plot_data

y = impulse(sysP,t);
figure(2); plot_data
>> zero_state_step_impulse

 単位ステップ応答とインパルス応答の描画 ...... M ファイル zero_state_step_impulse2.m (p.61)
plant
    
t = 0:0.01:5;

figure(1); step(sysP,t);
figure(2); impulse(sysP,t);
>> zero_state_step_impulse2

 単位ステップ応答とインパルス応答の描画(グラフのカスタマイズ)
   ...... M ファイル zero_state_step_impulse3.m(本には記載していない)
plant
    
t = 0:0.01:5;

% === 単位ステップ応答 ====================================
y = step(sysP,t);

figure(1);
plot(t,y,'r','linewidth',2);
grid;

% --- グラフのカスタマイズ --------------------------------
xlim([0 5]);
ylim([0 0.15]);

set(gca,'xtick',[0:1:5]);
set(gca,'ytick',[0:0.05:0.15]);

set(gca,'fontname','times','fontsize',20);

xlabel('time [s]','fontname','times','fontsize',22);
ylabel('{\it{y}}({\it{t}})','fontname','times','fontsize',22);
title('step response','fontname','arial','fontsize',22);

% === インパルス応答 ======================================
y = impulse(sysP,t);

figure(2);
plot(t,y,'r','linewidth',2);
grid;

% --- グラフのカスタマイズ --------------------------------
xlim([0 5]);
ylim([-0.15 0.3]);

set(gca,'xtick',[0:1:5]);
set(gca,'ytick',[-0.15:0.15:0.3]);

set(gca,'fontname','times','fontsize',20);

xlabel('time [s]','fontname','times','fontsize',22);
ylabel('{\it{y}}({\it{t}})','fontname','times','fontsize',22);
title('impulse response','fontname','arial','fontsize',22);
>> zero_state_step_impulse3