doprint
Распечатайте большие матрицы
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
doprint(object1, object2, …
)
doprint
служит для отображения больших матриц на экране. На самом деле doprint(object)
отображает любой объект MuPAD® как print(object)
. Единственная разница - то, что большие матрицы, содержавшиеся в объекте, распечатаны, также.
Матрицы типа, который matrix
или более общего типа, который Dom::Matrix(R)
с некоторым коэффициентом звонит R
, не готов распечатать сами на экране, если они являются большими.
m ×n матричный A
распечатан как отформатированный двумерный массив, только если m n ≤ printMaxSize, где значение по умолчанию printMaxSize
500. (Можно изменить значение printMaxSize
на любое другое целочисленное значение m
путем вызова A::dom::setPrintMaxSize(m)
).
Для больших матриц выдано предупреждение, и некоторый символьный фиктивный объект без матричных записей распечатан.
Это служит, чтобы избежать выходных проблем, когда печать вызывается случайно (вывод для больших отформатированных массивов является очень дорогим касающимся разом и памятью).
Если вы действительно настаиваете на том, чтобы распечатывать большие матрицы на экране, функциональный doprint
может использоваться, чтобы составить разреженную таблицу как вывод матрицы.
С doprint
только распечатаны ненулевые записи больших матриц!
doprint
позволяет распечатывать произвольные объекты MuPAD. Это ведет себя как print
для всех объектов кроме матриц, содержавшихся в объекте.
Для маленьких матриц это выключает отформатированный массив, любят вывод, и заменяет его разреженной таблицей, любят вывод. Для больших матриц это отключает предупреждения, такие как "This matrix is too large for display. ..."
и распечатывает матрицы с помощью разреженной таблицы, любят вывод.
doprint
чувствителен к переменным окружения DIGITS
, PRETTYPRINT
и TEXTWIDTH
, и к выходным настройкам Pref::floatFormat
, Pref::keepOrder
и Pref::trailingZeroes
.
Маленькие матрицы распечатаны как отформатированные массивы:
A := matrix(5, 5, [i $ i = 1..30], Diagonal)
Вызывая doprint
, эта матрица распечатана по-другому:
doprint(A)
Мы создаем большую диагональную матрицу размерности 30 ×30:
A := matrix(30, 30, [i $ i = 1..30], Diagonal):
Если бы мы не подавили вывод двоеточием, отключающим команду выше, соблюдающее предупреждение было бы выдано выходной системой:
A
Warning: Matrix too large for display. To see all nonzero entries of a matrix A, use 'A::dom::doprint(A)'. [(Dom::Matrix(Dom::ExpressionField()))::print]
Warning: This matrix is too large for display. If you want to see all nonzero entries of a matrix, say A, then call 'A::dom::doprint(A)'. [(Dom::Matrix(Dom::ExpressionField()))::print]
Warning: This matrix is too large for display. If you want to see all nonzero entries of a matrix, say A, then call 'A::dom::doprint(A)'. [(Dom::Matrix(Dom::ExpressionField()))::print]
Поскольку матрица чрезвычайно разреженна, она действительно целесообразна распечатывать матрицу. Вызывая doprint
, мы получаем печать вывод всех ненулевых элементов:
doprint(A)
delete A:
Мы вычисляем числовую факторизацию QR нулевой матрицы размерности 30×30. Поскольку команда не отключена двоеточием, выходная система пытается распечатать список с факторами Q и R. Обе матрицы отправляют предупреждение:
[Q, R] := numeric::factorQR(matrix(30, 30, [])): Q, R
Warning: Matrix too large for display. To see all nonzero entries of a matrix A, use 'A::dom::doprint(A)'. [(Dom::Matrix(Dom::ExpressionField()))::print]
Warning: Matrix too large for display. To see all nonzero entries of a matrix A, use 'A::dom::doprint(A)'. [(Dom::Matrix(Dom::ExpressionField()))::print]
Warning: This matrix is too large for display. If you want to see all nonzero entries of a matrix, say A, then call 'A::dom::doprint(A)'. [(Dom::Matrix(Dom::ExpressionField()))::print]
Warning: This matrix is too large for display. If you want to see all nonzero entries of a matrix, say A, then call 'A::dom::doprint(A)'. [(Dom::Matrix(Dom::ExpressionField()))::print]
Warning: This matrix is too large for display. If you want to see all nonzero entries of a matrix, say A, then call 'A::dom::doprint(A)'. [(Dom::Matrix(Dom::ExpressionField()))::print]
Warning: This matrix is too large for display. If you want to see all nonzero entries of a matrix, say A, then call 'A::dom::doprint(A)'. [(Dom::Matrix(Dom::ExpressionField()))::print]
Мы можем осуществить разреженный вывод через doprint
. Матричный факторный Q является единичной матрицей, матричный факторный R является нулем:
doprint([Q, R])
delete Q, R:
|
Любые объекты MuPAD |
doprint
возвращает пустой объект null()
типа DOM_NULL
.
DIGITS
| PRETTYPRINT
| Pref::floatFormat
| Pref::keepOrder
| Pref::trailingZeroes
| TEXTWIDTH
| expose
| expr2text
| fprint
| print
| protocol
| strprint
| write