symmatrix

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

Описание

пример

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

пример

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

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

пример

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

Примеры

свернуть все

Создайте две переменные символьной матрицы с размером 2- 3. Нескалярные переменные символьной матрицы отображены как полужирные символы в Live Editor и Командном окне.

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+Aтранспонируйте (symmatrix ([3 3])) + symmatrix ([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)

Ограничения

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

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

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

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

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

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

Введенный в R2021a