exponenta event banner

symmatrix2sym

Преобразование переменной символьной матрицы в массив скалярных переменных

Синтаксис

Описание

пример

S = symmatrix2sym(M) преобразует переменную символьной матрицы M типа symmatrix к массиву символьных скалярных переменных S типа sym.

Выходной массив имеет тот же размер, что и переменная входной символьной матрицы, и его компоненты заполняются автоматически генерируемыми элементами. Например, syms M [1 3] matrix; S = symmatrix2sym(M) создает матрицу S = [M1_1, M1_2, M1_3]. Сгенерированные элементы M1_1, M1_2, и M1_3 не отображаются в рабочей области MATLAB ®.

Примеры

свернуть все

Создание двух символьных переменных матрицы с размером 2около-3. Нескалярные символьные переменные матрицы отображаются полужирным шрифтом в интерактивном редакторе и окне команд.

syms A B [2 3] matrix
A
A = Asymmatrix('A', [2 3])
B
B = Bsymmatrix('B', [2 3])

Добавьте две матрицы. Результат представлен матричным обозначением A + B.

X = A + B
X = A+Bsymmatrix('A', [2 3]) + symmatrix('B', [2 3])

Тип данных X является symmatrix.

class(X)
ans = 
'symmatrix'

Преобразование переменной символьной матрицы X к матрице символьных скалярных переменных Y. Результат обозначается суммой матричных компонентов.

Y = symmatrix2sym(X)
Y = 

(A1,1+B1,1A1,2+B1,2A1,3+B1,3A2,1+B2,1A2,2+B2,2A2,3+B2,3)[A1_1 + B1_1, A1_2 + B1_2, A1_3 + B1_3; A2_1 + B2_1, A2_2 + B2_2, A2_3 + B2_3]

Тип данных Y является sym.

class(Y)
ans = 
'sym'

Показать, что преобразованный результат в Y равна сумме двух матриц символьных скалярных переменных.

syms A B [2 3]
Y2 = A + B
Y2 = 

(A1,1+B1,1A1,2+B1,2A1,3+B1,3A2,1+B2,1A2,2+B2,2A2,3+B2,3)[A1_1 + B1_1, A1_2 + B1_2, A1_3 + B1_3; A2_1 + B2_1, A2_2 + B2_2, A2_3 + B2_3]

isequal(Y,Y2)
ans = logical
   1

Создать 3около-3 и 3около-1 символьные матричные переменные.

syms A [3 3] matrix
syms X [3 1] matrix

Найдите матрицу Гессена XTAX.

f = X.'*A*X;
H = diff(f,X,X.')
H = AT+Atranspose(symmatrix('A', [3 3])) + symmatrix('A', [3 3])

Преобразование результата из переменной символьной матрицы H к матрице символьных скалярных переменных S.

S = symmatrix2sym(H)
S = 

(2A1,1A1,2+A2,1A1,3+A3,1A1,2+A2,12A2,2A2,3+A3,2A1,3+A3,1A2,3+A3,22A3,3)[2*A1_1, A1_2 + A2_1, A1_3 + A3_1; A1_2 + A2_1, 2*A2_2, A2_3 + A3_2; A1_3 + A3_1, A2_3 + A3_2, 2*A3_3]

Создать 1около-3 символьная переменная матрицы, представляющая вектор.

syms A [1 3] matrix

Найти 2-норму вектора A. Результатом является символьная переменная матрицы с symmatrix тип данных.

N = norm(A)
N = A2norm(symmatrix('A', [1 3]), 2)
class(N)
ans = 
'symmatrix'

Новообращенный N к символьной скалярной переменной для выражения 2-нормы в терминах компонентов A. Результатом является символьная скалярная переменная с sym тип данных.

N = symmatrix2sym(N)
N = |A1,1|2+|A1,2|2+|A1,3|2sqrt(abs(A1_1)^2 + abs(A1_2)^2 + abs(A1_3)^2)
class(N)
ans = 
'sym'

Создание двух векторов размера 3около-1 в качестве символьных матричных переменных.

syms A B [3 1] matrix

Поиск скалярного произведения двух векторов путем вычисления transpose(A)*B.

C = transpose(A)*B
C = ATBtranspose(symmatrix('A', [3 1]))*symmatrix('B', [3 1])

Новообращенный C к символьной скалярной переменной для выражения скалярного произведения в терминах компонентов A и B.

C = symmatrix2sym(C)
C = (A1B1+A2B2+A3B3)[A1*B1 + A2*B2 + A3*B3]

Создать два 2около-3 символьные матричные переменные.

syms A B [2 3] matrix

Объединение двух матриц по вертикали с помощью команды vertcat(A,B) или [A; B].

C = [A; B]
C = 

(AB)[symmatrix('A', [2 3]); symmatrix('B', [2 3])]

Преобразуйте C в матрицу символьных скалярных переменных.

C = symmatrix2sym(C)
C = 

(A1,1A1,2A1,3A2,1A2,2A2,3B1,1B1,2B1,3B2,1B2,2B2,3)[A1_1, A1_2, A1_3; A2_1, A2_2, A2_3; B1_1, B1_2, B1_3; B2_1, B2_2, B2_3]

Входные аргументы

свернуть все

Ввод, заданный как символьная переменная матрицы.

Типы данных: symmatrix

Совет

  • Чтобы показать все функции в символьных математических Toolbox™, которые принимают переменные символьной матрицы в качестве входных данных, используйте команду methods symmatrix.

Представлен в R2021a