Основные алгебраические операции на символьных объектах совпадают с операциями на объектах MATLAB® класса double
. Это проиллюстрировано в следующем примере.
Преобразование Givens производит плоское вращение через угол t
. Операторы
syms t G = [cos(t) sin(t); -sin(t) cos(t)]
создайте эту матрицу преобразования.
G = [ cos(t), sin(t)] [ -sin(t), cos(t)]
Применение преобразования Givens дважды должно просто быть вращением через дважды угол. Соответствующая матрица может быть вычислена путем умножения G
отдельно или путем повышения G
к второй степени. Оба
A = G*G
и
A = G^2
произвести
A = [ cos(t)^2 - sin(t)^2, 2*cos(t)*sin(t)] [ -2*cos(t)*sin(t), cos(t)^2 - sin(t)^2]
simplify
функция
A = simplify(A)
использует тригонометрическую идентичность, чтобы возвратить ожидаемую форму путем попытки нескольких различных тождеств и выбора того, который производит самое короткое представление.
A = [ cos(2*t), sin(2*t)] [ -sin(2*t), cos(2*t)]
Вращение Givens является ортогональной матрицей, таким образом, транспонировать ее инверсия. Подтверждение этого
I = G.' *G
который производит
I = [ cos(t)^2 + sin(t)^2, 0] [ 0, cos(t)^2 + sin(t)^2]
и затем
I = simplify(I)
I = [ 1, 0] [ 0, 1]