Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
Когда вы используете матрицы в расчетах MuPAD®, и вычислительное использование КПД и памяти может зависеть от того, является ли матрица разреженной или плотной. Разреженные матрицы содержат большое количество элементов с нулевым знаком. Внутренняя память матриц в MuPAD оптимизирована для разреженных данных. MuPAD сохраняет ненулевые элементы и их индексы. Когда вы используете разреженные матрицы, MuPAD принимает, что все незаданные элементы являются нулями. При работе с большими разреженными матрицами рассмотрите следующие методы для лучшей производительности:
Чтобы создать матрицы, используйте matrix
функционируйте или конструктор Dom::Matrix()
когда это возможно. И конструктор и функция создают матрицы по звонку произвольных выражений MuPAD Dom::ExpressionField()
.
При решении систем уравнений, представленных разреженными матрицами, избегайте вычислительных обратных матриц. Вместо этого используйте linalg::matlinsolve
найти точные символьные решения или numeric::matlinsolve
найти числовые приближения.
Постарайтесь не создавать большие пустые матрицы, и затем использовать индексированные присвоения в ненулевых значениях. Индексируемые присвоения в MuPAD являются дорогими операциями. Указывание элементов одновременно, когда вы создаете матрицу, более эффективно. Например, команда
matrix(10, 10, [-1, 2, -1], Banded):
более эффективно, чем
A := matrix(10, 10): for i from 1 to 10 do A[i, i] := 2: end_for: for i from 1 to 9 do A[i, i + 1] := -1: A[i + 1, i] := -1: end_for:
Плотные матрицы содержат только некоторых или никакие элементы с нулевым знаком. MuPAD обеспечивает специальную матричную область для плотных матриц. Чтобы создать такие матрицы, используйте densematrix
функция, которая является ярлыком для конструктора Dom::DenseMatrix()
. Также можно использовать конструктора самостоятельно. Для матриц Dom::DenseMatrix()
область, индексированное чтение и запись быстрее, чем для матриц Dom::Matrix()
область.