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 size-by- 3. Нескалярные переменные символьной матрицы отображаются жирными символами в Live Editor и Командном окне.

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-by- 3 и 3-by- 1 символьные матричные переменные.

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

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

f = X.'*A*X;
H = diff(f,X,X.')
H = AT+Aтранспонирование (симматрица ('A', [3 3])) + симматрица ('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-by- 3 символьная матричная переменная, которая представляет вектор.

syms A [1 3] matrix

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

N = norm(A)
N = A2норма (симматрица ('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-by- 1 как символьные матричные переменные.

syms A B [3 1] matrix

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

C = transpose(A)*B
C = ATBтранспонирование (симматрица ('A', [3 1])) * симматрица ('B', [3 1])

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

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

Создайте два 2-by- 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

Совет

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

Введенный в R2021a
Для просмотра документации необходимо авторизоваться на сайте