clear; close all; clc; A = [0 1;-1 -1]; B = [0; 1]; C = [1 0]; D = 0; sys = ss(A,B,C,D); nx = 2; %Number of states ny = 1; %Number of outputs Qn = [4 0; 0 1]; Rn = 0.7; R = 1; QXU = blkdiag(0.1*eye(nx),R); QWV = blkdiag(Qn,Rn); QI = eye(ny); KLQG = lqg(sys,QXU,QWV) KLQG1 = lqg(sys,QXU,QWV,QI,'1dof'); KLQG2 = lqg(sys,QXU,QWV,QI,'2dof'); G = tf(sys); KLQG_TF1=tf(KLQG1); C1 = KLQG_TF1; step(feedback(C1*G,1)); title('位置xのステップ応答(1自由度)'); figure(); KLQG_TF2 = tf(KLQG2); Cr = KLQG_TF2(1); Cy = KLQG_TF2(2); T1 = G*Cr/(1-G*Cy); %closed loop TFcn step(T1); title('位置xのステップ応答(2自由度)'); big;