%図13.5
%
clear all; close all;

%伝達関数の分子・分母多項式を与える
num = [ 1 ]; %分子多項式
den = [ 1 2 1 ]; %分母多項式

%コントローラのパラメータを与える
K1 = 1.0; %K=1
K2 = 2.4; %K=2.4
K3 = 3.0; %K=3

%コントローラの分子・分母多項式を与える.
numc1 = [ K1 ]; %K=1の場合の分子多項式
numc2 = [ K2 ]; %K=2.4の場合の分子多項式
numc3 = [ K3 ]; %K=3の場合の分子多項式
denc = [ 1 0.1 ]; %分母多項式

%制御対象とコントローラの伝達関数表現を与える
sys = tf( num, den ); %制御対象の伝達関数表現
c1 = tf( numc1, denc ); %K=1の場合のコントローラの伝達関数表現
c2 = tf( numc2, denc ); %K=2.4の場合のコントローラの伝達関数表現
c3 = tf( numc3, denc ); %K=3の場合のコントローラの伝達関数表現

%開ループ伝達関数を求める
sysL1 = sys*c1; %K=1の場合の開ループ伝達関数
sysL2 = sys*c2; %K=2.4の場合の開ループ伝達関数
sysL3 = sys*c3; %K=3の場合の開ループ伝達関数

%図13.5(a)のプロット
subplot(1,3,1) %複数の図を並べるためのコマンド.1行3列の1列目という意味
nyquist(sysL1) %ベクトル軌跡のプロット(ナイキスト線図)
xlim([-5 30]) %横軸(実軸)の範囲の指定
ylim([-20 20]) %縦軸(虚軸)の範囲の指定

%図13.5(b)のプロット
subplot(1,3,2) %複数の図を並べるためのコマンド.1行3列の2列目という意味
nyquist(sysL2) %ベクトル軌跡のプロット(ナイキスト線図)
xlim([-5 30]) %横軸(実軸)の範囲の指定
ylim([-20 20]) %縦軸(虚軸)の範囲の指定

%図13.5(c)のプロット
subplot(1,3,3) %複数の図を並べるためのコマンド.1行3列の3列目という意味
nyquist(sysL3) %ベクトル軌跡のプロット(ナイキスト線図)
xlim([-5 30]) %横軸(実軸)の範囲の指定
ylim([-20 20]) %縦軸(虚軸)の範囲の指定