function WB = UE_2WB(A,C)
%UE_2WB   Berechnung der Polvorgabematrix WB.
%	WB=UE_2WB(A,C) erzeugt die Polvorgabematrix WB
%	A Systemmatrix
%   C Ausgangsmatrix
%	Hinweis: Falls das System nicht beobachtbar ist, 
%            wird WB singulaer.
%   CAD-Uebung zur Vorlesung Entwurf Robuster Regelungen
%   Thema: Zustandsregelung/Polvorgabe/Steuerbarkeit

% M. Grobe  10/2003
% Technische Universitaet Braunschweig, IfR

% Dimension der A Matrix
[m,n]=size(A);

% q = Normierter Koeffizientenvektor des charakteristischen Polynoms von A
q=poly(A);        % Koeffizientenvetor des ungeregelten Systems
q=q/q(1);         % normieren auf q(1)=1
q=q(2:length(q)); % in VL wurde fuehrende 1 aus Vektor q herausgezogen [1 q_{n-1} ... q_{1}]

% WB=Q*Qb
Qb=obsv(A,C);
% Struktur von Q siehe VL
Q=eye(n);
% Q oberhalb der Hauptdiagonalen mit den Polynomkoeffizienten q fuellen
for i=1:n
    for j=i+1:n
	Q(i,j) = q(j-i);
    end
end
Q=Q';

% WB=Q*Qb
WB=Q*Qb;
