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 распечатан как отформатированный двумерный массив, только если mnprintMaxSize, где значение по умолчанию printMaxSize 500. (Можно изменить значение printMaxSize на любое другое целочисленное значение m путем вызова A::dom::setPrintMaxSize(m)).

Для больших матриц выдано предупреждение, и некоторый символьный фиктивный объект без матричных записей распечатан.

Это служит, чтобы избежать выходных проблем, когда печать вызывается случайно (вывод для больших отформатированных массивов является очень дорогим касающимся разом и памятью).

Если вы действительно настаиваете на том, чтобы распечатывать большие матрицы на экране, функциональный doprint может использоваться, чтобы составить разреженную таблицу как вывод матрицы.

Примечание

С doprint только распечатаны ненулевые записи больших матриц!

doprint позволяет распечатывать произвольные объекты MuPAD. Это ведет себя как print для всех объектов кроме матриц, содержавшихся в объекте.

Для маленьких матриц это выключает отформатированный массив, любят вывод, и заменяет его разреженной таблицей, любят вывод. Для больших матриц это отключает предупреждения, такие как "This matrix is too large for display. ..." и распечатывает матрицы с помощью разреженной таблицы, любят вывод.

Смотрите пример 1 и пример 2.

Взаимодействия среды

doprint чувствителен к переменным окружения DIGITS, PRETTYPRINT и TEXTWIDTH, и к выходным настройкам Pref::floatFormat, Pref::keepOrder и Pref::trailingZeroes.

Примеры

Пример 1

Маленькие матрицы распечатаны как отформатированные массивы:

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:

Пример 2

Мы вычисляем числовую факторизацию 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:

Параметры

object1, object2, …

Любые объекты MuPAD

Возвращаемые значения

doprint возвращает пустой объект null() типа DOM_NULL.

Перегруженный