Подстановка элементов в символьных матрицах

Создайте матрицу 2 на 2 A с автоматически сгенерированными элементами с помощью sym. Сгенерированные элементы A1,1, A1,2, A2,1, и A2,2 не отображаются в рабочей области MATLAB ®.

A = sym('A',[2 2])
A = 

(A1,1A1,2A2,1A2,2)[A1_1, A1_2; A2_1, A2_2]

Замените элемент A1,2 со значением 5. Присвойте значение непосредственно путем индексации в элемент матрицы.

A(1,2) = 5
A = 

(A1,15A2,1A2,2)[A1_1, sym (5); A2_1, A2_2]

Также можно создать матрицу 2 на 2 с помощью syms. Создайте матрицу B использование syms.

syms B [2 2]
B
B = 

(B1,1B1,2B2,1B2,2)[B1_1, B1_2; B2_1, B2_2]

Сгенерированные элементы B1,1, B1,2, B2,1, и B2,2 появляются как символьные переменные B1_1, B1_2, B2_1, и B2_2 в рабочем пространстве MATLAB. Использование subs для замены элемента B путем определения имени переменной. Для примера замените B2_2 с 4.

B = subs(B,B2_2,4)
B = 

(B1,1B1,2B2,14)[B1_1, B1_2; B2_1, сим (4)]

Можно также создать матрицу, задав элементы по отдельности. Создайте циркулянтную матрицу 3 на 3 M.

syms a b c
M = [a b c; b c a; c a b]
M = 

(abcbcacab)[a, b, c; b, c, a; c, a, b]

Замените переменную b в матричном M по выражению a + 1. Функция subs заменяет все b элементы в матричном M с выражением a + 1.

M = subs(M,b,a+1)
M = 

(aa+1ca+1cacaa+1)[a, a + 1, c; a + 1, c, a; c, a, a + 1]

Далее замените все элементы, значение которых c с a + 2. Можно задать значение для замены следующим c, M(1,3) или M(3,1).

M = subs(M,M(1,3),a+2)
M = 

(aa+1a+2a+1a+2aa+2aa+1)[a, a + 1, a + 2; a + 1, a + 2, a; a + 2, a, a + 1]

Чтобы заменить конкретный элемент массива матрицы новым значением с сохранением всех остальных элементов без изменений, используйте операцию назначения. Для примера, M(1,1) = 2 заменяет только первый элемент матрицы M со значением 2.

Найдите собственные значения и собственные векторы матрицы M.

[V,E] = eig(M)
V = 

(132-12-32-121-32-1232-12111)[sym (1), sqrt (sym (3) )/2 - sym (1/2), - sqrt (sym (3) )/2 - sym (1/2); sym (1), - sqrt (sym (3) )/2 - sym (1/2), sqrt (sym (3) )/2 - sym (1/2); sym (1), sym (1), sym (1)]

E = 

(3a+30003000-3)[3 * a + 3, sym (0), sym (0); sym (0), sqrt (sym (3)), sym (0); sym (0), sym (0), -sqrt (sym (3))]

Замените символьный параметр a со значением 1.

subs(E,a,1)
ans = 

(60003000-3)[sym (6), sym (0), sym (0); sym (0), sqrt (sym (3)), sym (0); sym (0), sym (0), -sqrt (sym (3))]