Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Команда matrix
создает матрицу по Dom::ExpressionField()
. Компоненты таких матриц могут быть произвольными арифметическими выражениями. Также можно создать собственного матричного конструктора и использовать его, чтобы создать матрицы с элементами в конкретном звонке. При работе с такими матрицами большинство функций MuPAD® выполняет вычисления по заданному звонку. Одним исключением являются библиотечные функции numeric
. Вызов Dom::Matrix(R)
создает конструктора для матриц произвольных размерностей с элементами в кольцевом R
. Чтобы задать кольцевой R
, можно использовать предопределенные звонки и поля, такие как Dom::Integer
или Dom::IntegerMod(n)
или другие от библиотеки Dom. Например, задайте конструктора, который создает матрицы по звонку целых чисел:
constructor := Dom::Matrix(Dom::Integer)
Используйте того конструктора, чтобы произвести матрицы с целочисленными элементами:
A := constructor(3, 3, [[1, 2, 3], [2, 3, 1], [3, 1, 2]])
Когда вы используете конструктора, чтобы создать матрицу, необходимо гарантировать, что все элементы матрицы принадлежат звонку или могут быть преобразованы в элементы в том звонке. В противном случае конструктор выдает ошибку и не создает матрицу:
constructor(3, 3, [[1/3, 2, 3], [2, 3, 1], [3, 1, 2]])
Error: Unable to define a matrix over 'Dom::Integer'. [(Dom::Matrix(Dom::Integer))::new]
Если вы используете конструктора, чтобы создать матрицу по конкретному звонку, вы не можете использовать ту матрицу в операциях, которые создают матрицы с элементами за пределами звонка. Например, вы не можете вычислить инверсию матричного A
, потому что обратная матрица содержит числа нецелого числа:
1/A
Теперь, создайте матрицу, содержащую те же элементы как A
, но используйте конструктора для матриц с рациональными числами:
constructorRational := Dom::Matrix(Dom::Rational): B := constructorRational(3, 3, [[1, 2, 3], [2, 3, 1], [3, 1, 2]])
Вычислите инверсию матричного B
:
1/B