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)');


(a) 零入力応答


 零入力応答の描画 ...... M ファイル zero_input.m (p.60)
plant
x0 = [ 1
       0 ];
   
t = 0:0.01:5;
% t = linspace(0,5,501);

y = initial(sysP,x0,t);
plot_data
>> zero_input

 零入力応答の描画 ...... M ファイル zero_input2.m (p.60)
plant
x0 = [ 1
       0 ];
   
t = 0:0.01:5;
% t = linspace(0,5,501);

initial(sysP,x0,t);
>> zero_input2

 零入力応答の描画(数式処理) ...... M ファイル symb_zero_input.m (p.60)
plant
x0 = [ 1
       0 ];
   
t = 0:0.01:5;
% t = linspace(0,5,501);

syms s
exp_At = ilaplace(inv(s*eye(2) - A));
yt = C*exp_At*x0

y  = subs(yt,t);
plot_data
>> symb_zero_input
yt =
(cos(3*t) + sin(3*t)/3)/exp(t)

 零入力応答の描画(グラフのカスタマイズ) ...... M ファイル zero_input3.m(本には記載していない)
plant
x0 = [ 1
       0 ];
   
t = 0:0.01:5;
% t = linspace(0,5,501);

y = initial(sysP,x0,t);

% --- グラフのカスタマイズ --------------------------------
figure(1)
plot(t,y,'r','linewidth',2);
grid;

xlim([0 5]);
ylim([-1 1]);

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

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

xlabel('time [s]','fontname','times','fontsize',22);
ylabel('{\it{y}}({\it{t}})','fontname','times','fontsize',22);
>> zero_input3