Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [An, Bn, Cn, Dn, N] = qq2standard(A, B, C, D, forme)
- n = size(A)
- coeff = poly(A);
- if isequal(forme, 'diag')
- elseif isequal(forme, 'commandable')
- x = zeros(1,n);
- for k = 1:n
- x(k) = A^(k-1)*B;
- end
- y = fliplr(eye(n));
- for k = n-1:1
- y = y + fliplr(ones(1, k) * coeff(k) ,n-k); %% Les coefficients coeff(k) sont les facteurs du polynome caractéristique
- end
- N = x * y;
- [An, Bn, Cn, Dn] = changebase(A, B, C, D, N);
- elseif isequal(forme, 'observable')
- X = zeros(1,n);
- for k = 1: n
- X(k) = (eye*(A')^(k-1)+ coeff(k-1)*(A')^(k-2)+coeff(1)*eye)*(C');
- end
- M = Inv(X);
- N = M';
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement