pi = 3.14159265;

A = [-1.28,0,0.98,0;0,0,1,0;-5.43,0,-1.84,0;-128.2,128.2,0,0];
b = [-0.3;0;-17;0];

n = size(A,2);
m = size(b,2);

Anew = [A,b;zeros(m,n),0];
bnew = [zeros(n,m);1];

%Umwandlung in Regelungsnormalform
Ms = [bnew,Anew*bnew,Anew^2*bnew,Anew^3*bnew,Anew^4*bnew];                    % Steuerbarkeitsmatrix det (Ms) ungleich 0 => steuerbar
% Msinvers = inv(Ms);
Ts = inv([[0,0,0,0,1]/Ms;[0,0,0,0,1]/Ms*Anew;[0,0,0,0,1]/Ms*Anew^2;[0,0,0,0,1]/Ms*Anew^3;[0,0,0,0,1]/Ms*Anew^4]);  %Transformationsmatrix
bnew;
%Hiermit kommen für Anew saubere Ergebnisse raus
c = [0,0,0,0,1];
d = 0;
sys = ss(Anew,bnew,c,d);
[sysB,TB]=canon(sys,'companion');
[Ab,Bb,Cb,Db]=ssdata(sysB) ;
sysR=ss(Ab',Cb',Bb',Db');
Anew=Ab';
 

nnew = size(Anew,2);  %nnew = 5
mnew = size(bnew,2);  %mnew = 1

a = -Anew( nnew, : )'; 

tau = 5;
d = tau;
kr = [zeros(n,m)', -tau]'; % kr = [0,0,0,0,-5]
kr = Ts'*kr; %kr = [0,0,-38.378,-15.594,-5.0]'
A0 = Anew + bnew*a';
a0 = (a-kr)/d;