%state_feedback.m

clear all
clc

A=[1 -1;2 -3]
B=[1; -1]

lambda=eig(A)

s=sym('s');

determinant=det(s*eye(2)-A)

avec=[1 2 -1]
poles=roots(avec)

Cont=[B A*B]


p=[-1 -3]
mu=p

k1=place(A,B,p)

alphavec=poly([-1 -3])

Tu=toeplitz([1 0],avec(1:end-1))

T=Cont*Tu

Ac=inv(T)*A*T
Bc=inv(T)*B

Contc=[Bc Ac*Bc]
Contcinv=inv(Contc)

%Bass-Gura

k2=(alphavec(2:end)-avec(2:end))*inv(Tu)*inv(Cont)

%Ackerman

k3=[0 1]*inv(Cont)*(alphavec(1)*A^2+alphavec(2)*A+alphavec(3)*eye(2))

%Mayne-Murdoch

[V,D]=eig(A)
Ad=inv(V)*A*V
Bd=inv(V)*B

k4=[(lambda(1)-mu(1))*(lambda(1)-mu(2))/(lambda(1)-lambda(2))/Bd(1) (lambda(2)-mu(1))*(lambda(2)-mu(2))/(lambda(2)-lambda(1))/Bd(2)]*inv(V)


