Основные алгебраические операции

Основные алгебраические операции на символьных объектах совпадают с операциями на объектах 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]