exponenta event banner

symmatrix

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

Описание

пример

X = symmatrix('X',[nrow ncol]) создает nrowоколо-ncol символьная переменная матрицы X. Символьные матричные переменные представляют матрицы, векторы и скаляры в компактной матричной нотации. Дополнительные сведения см. в разделе Создание символьных переменных матрицы.

пример

X = symmatrix('X',n) создает nоколо-n символьная переменная матрицы X.

X = symmatrix('X') создает переменную символьной матрицы 1 на 1 X.

пример

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

Примеры

свернуть все

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

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

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

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

Символьные матричные переменные представляют матрицы, векторы и скаляры в компактной матричной нотации. При представлении нескаляров эти переменные являются некоммутативными. Когда математические формулы включают матрицы и векторы, запись их с использованием символьных матричных переменных более лаконична и ясна, чем запись их компонентно.

Создайте две символьные матричные переменные.

A = symmatrix('A',[2 2]);
B = symmatrix('B',[2 2]);

Проверьте отношение коммутации для умножения между двумя символьными матричными переменными.

A*B - B*A
ans = AB-BAsymmatrix('A', [2 2])*symmatrix('B', [2 2]) - symmatrix('B', [2 2])*symmatrix('A', [2 2])
isequal(A*B,B*A)
ans = logical
   0

Проверьте отношение коммутации для сложения между двумя символьными матричными переменными.

isequal(A+B,B+A)
ans = logical
   1

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

A = symmatrix('A',3)
A = Asymmatrix('A', [3 3])
X = symmatrix('X',[3 1])
X = Xsymmatrix('X', [3 1])

Найдите матрицу Гессена XTAX. Производные уравнения, включающие символьные матричные переменные, отображаются в наборе типов, как это было бы в учебниках.

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

Создайте матрицу Гильберта порядка 4. Тип данных матрицы: double.

H = hilb(4)
H = 4×4

    1.0000    0.5000    0.3333    0.2500
    0.5000    0.3333    0.2500    0.2000
    0.3333    0.2500    0.2000    0.1667
    0.2500    0.2000    0.1667    0.1429

class(H)
ans = 
'double'

Преобразование числовой матрицы в переменную символьной матрицы. Тип данных преобразованной матрицы: symmatrix.

X = symmatrix(H)
X = 

(1121314121314151314151614151617)[sym(1), sym(1/2), sym(1/3), sym(1/4); sym(1/2), sym(1/3), sym(1/4), sym(1/5); sym(1/3), sym(1/4), sym(1/5), sym(1/6); sym(1/4), sym(1/5), sym(1/6), sym(1/7)]

class(X)
ans = 
'symmatrix'

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

A = symmatrix('A',2)
A = Asymmatrix('A', [2 2])
B = symmatrix('B',2)
B = Bsymmatrix('B', [2 2])

Выполнить умножение матрицы между A и B. Умножение двух символьных матричных переменных представлено матричным обозначением AB.

X = A*B
X = ABsymmatrix('A', [2 2])*symmatrix('B', [2 2])

Преобразование переменной символьной матрицы X к матрице символьных скалярных переменных S. Умножение двух матриц символических скалярных переменных представлено элементами матричного произведения.

S = symmatrix2sym(X)
S = 

(A1,1B1,1+A1,2B2,1A1,1B1,2+A1,2B2,2A2,1B1,1+A2,2B2,1A2,1B1,2+A2,2B2,2)[A1_1*B1_1 + A1_2*B2_1, A1_1*B1_2 + A1_2*B2_2; A2_1*B1_1 + A2_2*B2_1, A2_1*B1_2 + A2_2*B2_2]

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

свернуть все

Имя переменной, указанное как символьный вектор. Аргумент X должно быть допустимым именем переменной. То есть X должен начинаться с буквы и содержать только буквенно-цифровые символы и знаки подчеркивания. Чтобы убедиться, что имя является допустимым именем переменной, используйте isvarname.

Пример: x, y12, z_1

Размеры вектора или матрицы, заданные как вектор целых чисел. nrow - количество строк, и ncol - количество столбцов. В качестве сочетания можно создать переменную квадратной символьной матрицы, указав только одно целое число. Например, X = symmatrix('X',3) создает квадрат 3около-3 символьная переменная матрицы.

Пример: [2 3], [2,3]

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

Пример: 10, eye(3), pi, hilb(3)

Ограничения

  • С помощью символьных математических Toolbox™ можно создавать символьные функции, зависящие от символьных скалярных переменных в качестве параметров. Однако переменные символьной матрицы не могут зависеть от параметра. Например, команда symmatrix('A(x)',[3 2]) в настоящее время ошибки.

  • Функции дифференциации, такие как jacobian и laplacian, в настоящее время не принимают переменные символьной матрицы в качестве входных данных. Чтобы оценить дифференциацию относительно векторов и матриц, можно использовать diff вместо этого функция.

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

Альтернативная функциональность

Альтернативные подходы к созданию символьных матричных переменных

Чтобы создать несколько символьных переменных матрицы в одном вызове функции, используйте syms var1 ... varN [nrow ncol] matrix. Дополнительные сведения см. в разделе syms.

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