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

syms A B [2 3] matrix
A
A = A
B
B = B

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

X = A + B
X = A+B

Тип данных 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)

Тип данных 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)

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+A

Преобразуйте результат переменной 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)

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

syms A [1 3] matrix

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

N = norm(A)
N = A2
class(N)
ans = 
'symmatrix'

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

N = symmatrix2sym(N)
N = |A1,1|2+|A1,2|2+|A1,3|2
class(N)
ans = 
'sym'

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

syms A B [3 1] matrix

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

C = transpose(A)*B
C = ATB

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

C = symmatrix2sym(C)
C = A1B1+A2B2+A3B3

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

syms A B [2 3] matrix

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

C = [A; B]
C = 

(AB)

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

C = symmatrix2sym(C)
C = 

(A1,1A1,2A1,3A2,1A2,2A2,3B1,1B1,2B1,3B2,1B2,2B2,3)

Входные параметры

свернуть все

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

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

Советы

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

Введенный в R2021a