4.4.2 極配置


(a) 直接的な方法(1 入力システム):数式処理


 直接的な方法による極配置 ...... M ファイル symb_poleplace.m (p.87)
clear
format compact

A = [ -3  1
       2 -2 ];
B = [ 2
      0 ];
      
syms lambda k1 k2 p1 p2
K = [k1 k2];
Acl = A + B*K;

eq1 = det(lambda*eye(2) - Acl);
eq1 = collect(eq1,lambda)
coe1 = coeffs(eq1,lambda)
eq2 = (lambda - p1)*(lambda - p2);
eq2 = collect(eq2,lambda)
coe2 = coeffs(eq2,lambda)

[k1 k2] = solve(coe1(1)-coe2(1), coe1(2)-coe2(2), 'k1,k2')

K = subs([k1 k2],{p1,p2},{-8+4j,-8-4j})
eig(A + B*K)
>> symb_poleplace
eq1 =
lambda^2 + (5 - 2*k1)*lambda + 4 - 4*k2 - 4*k1
coe1 =
[ 4 - 4*k2 - 4*k1, 5 - 2*k1, 1]
eq2 =
lambda^2 + (- p1 - p2)*lambda + p1*p2
coe2 =
[ p1*p2, - p1 - p2, 1]
k1 =
p1/2 + p2/2 + 5/2
k2 =
- p1/2 - p2/2 - (p1*p2)/4 - 3/2
K =
   -5.5000  -13.5000
ans =
  -8.0000 + 4.0000i
  -8.0000 - 4.0000i