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 = 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+Aтранспонируйте (symmatrix ([3 3])) + symmatrix ([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 = A2норма (symmatrix ([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 = ATBтранспонируйте (symmatrix ([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 ([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
Для просмотра документации необходимо авторизоваться на сайте