Добрый день.
Вопрос из области канонических преобразований матриц в MATLAB.
Подскажите пожалуйста функцию получения такой матрицы из коэффициентов характеристического полинома.
Например для матрицы 4-го порядка имеем характеристический полином
Нужно получить матрицу
Конкретно
Код:
clear all
clc
A=[-1.68 9.1 0 0 ;
-6.22 -5.72 5.1 0;
2.1 -1.1 -3.4 -0.1;
4.6 -4 -8.2 -3]
g=poly(A) %det(sI-A) = g(1)*s^n + g(2)*s^(n-1) + ... g(n)*s + g(n+1)
G=[g(4) g(3) g(2) g(1);
g(3) g(2) g(1) 0;
g(2) g(1) 0 0;
g(1) 0 0 0]
Сейчас такие матрицы формирую «вручную» циклом на базе значений
или непосредственно, как в приведенном выше коде. Хотелось бы получать их командами MATLAB. Может даже одной командой! Причем не «от обратного», зная конечный вид матрицы в канонической форме, а как будто еще не зная матрицы в канонической форме. Такая хитрая постановка в связи с тем, что хочу использовать для учебных целей – чтобы студенты не запутались при формировании такой матрицы «вручную».
Командами канонических преобразований canon, ctrbf, obsvf что-то не получается такую матрицу выудить. Может есть готовая команда?