вывод ::

Печать объектов в табличной форме

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

output::tableForm(obj, <separator>, options)

Описание

output::tableForm(obj) распечатывает элементы данного объекта obj в табличной форме.

Ширина таблицы и количество столбцов зависят от размера TEXTWIDTH (см. опции Width и Columns). Ширина столбца зависит от самой широкой записи в этом столбце.

output::tableForm определяет количество столбцов, что общая ширина таблицы помещается в TEXTWIDTH.

Столбцы разделяются одним пробелом по умолчанию.

Если separator дан, то он распечатан между каждым столбцом (вместо одного пробела). Добавление пробелов к разделителю заканчивается дополнительно пробел между столбцами. По умолчанию разделитель является одним пробелом.

Если первый аргумент obj является таблицей или областью, output::tableForm использует опцию Columns = 2 (два столбца) и разделитель "= " как значение по умолчанию.

Без опции Sort объекты преобразованы в строки и затем отсортированы в алфавитном порядке. Чтобы избежать любой сортировки опции, Sort = FALSE должен быть дан.

Примеры

Пример 1

Для всех примеров на этой странице мы принимаем TEXTWIDTH 75:

TEXTWIDTH := 75:

Распечатайте некоторые случайные числа в табличной форме:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30])
11647 12826 26280 26292 28315 30908 36523 42073 4682  47334 52640 56426
5829 615   62580 65904 66223 6719  69451 69903 77904 78221 80528 81013
86068 89016 90516 91008 92791 9532                                     

Создаются некоторые случайные строки. Столбцы должны иметь весь одинаковый ширина (Unique) и быть распечатаны сосредоточенные. Строки не должны быть отсортированы:

output::tableForm([_concat("*" $ random(10)()) $ k = 1..20],
                  Unique, Center, Sort = FALSE)
 "********"  "******"   "*********" "********"      "*"     "******"
"*********"   "*****"     "****"    "********"    "****"    "*****"
"*********"  "*******"   "*******"   "******"      "**"     "****"

Unquoted опции предотвращает печать кавычек (см. fprint):

output::tableForm([_concat("*" $ random(10)()) $ k = 1..20],
                  Unique, Center, Sort = FALSE, Unquoted)
********    *      ******   ******    ****    ******     **    **
  *****     *       ****     ****      **    ******** *******  **
    *    *******                                                       

Пример 2

Следующий объект является таблицей MuPAD® и должен быть распечатан как таблица с двумя столбцами. Таблица содержит некоторые случайные числа и их сумму цифр:

SEED := -1:
T :=  table(op(map([random(100000000)() $ k = 1..10],
                   proc(X)
                     local Xs, k;
                   begin
                     Xs := expr2text(X);
                     X = _plus(text2expr(substring(Xs, k))
                               $ k = 1..length(Xs))
                   end_proc))):
output::tableForm(T)
19962580 = 40
25878221 = 35
37777904 = 44
41281013 = 20
43856426 = 38
46169451 = 36
66926292 = 42
80330908 = 31
89306719 = 43
94386068 = 44

Области также распечатаны в этой форме по умолчанию:

output::tableForm(newDomain("Test",
                            table("type" = "Test",
                                  "info" = "only a testdomain")))
"info" = "only a testdomain"
"key" = "Test"
"type" = "Test"

Пример 3

Следующая таблица должна состоять из четырех столбцов:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30], Columns = 4)
11647 12826 26280 26292
28315 30908 36523 42073
4682 47334 52640 56426
5829 615   62580 65904
66223 6719  69451 69903
77904 78221 80528 81013
86068 89016 90516 91008
92791 9532             

Следующая таблица должна иметь максимальную ширину символов 50:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30], Width = 50)
11647 12826 26280 26292 28315 30908 36523 42073
4682 47334 52640 56426 5829  615   62580 65904
66223 6719  69451 69903 77904 78221 80528 81013
86068 89016 90516 91008 92791 9532             
delete T:

Пример 4

Следующие примеры показывают различное использование разделителей. Сначала один один разделитель:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30], "|")
11647|12826|26280|26292|28315|30908|36523|42073|4682 |47334|52640|56426
5829|615  |62580|65904|66223|6719 |69451|69903|77904|78221|80528|81013
86068|89016|90516|91008|92791|9532                                     

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

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30], ["|", " ", " "])
11647|12826 26280 26292|28315 30908 36523|42073 4682  47334|52640 56426
5829|615   62580 65904|66223 6719  69451|69903 77904 78221|80528 81013
86068|89016 90516 91008|92791 9532                                     

Только первое оба colunms должно быть разделено вертикальной строкой:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30], ["|", " " $ 10])
11647|12826 26280 26292 28315 30908 36523 42073 4682  47334 52640 56426
5829|615   62580 65904 66223 6719  69451 69903 77904 78221 80528 81013
86068|89016 90516 91008 92791 9532                                     

Дополнительно символ может быть добавлен к каждой записи:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30],
                  ["|", " " $ 10], Append = ",")
11647,|12826, 26280, 26292, 28315, 30908, 36523, 42073, 4682,  47334, 52640,
56426,|5829,  615,   62580, 65904, 66223, 6719,  69451, 69903, 77904, 78221,
80528,|81013, 86068, 89016, 90516, 91008, 92791, 9532,                      

Пример 5

Следующие примеры показывают различное использование сортировки. Без опции Sort числа сортируются как строки в лексикографическом порядке:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30])
11647 12826 26280 26292 28315 30908 36523 42073 4682  47334 52640 56426
5829 615   62580 65904 66223 6719  69451 69903 77904 78221 80528 81013
86068 89016 90516 91008 92791 9532                                     

Sort = FALSE избегает любой сортировки:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30], Sort = FALSE)
30908 6719  26292 56426 81013 69451 77904 78221 86068 62580 47334 12826
9532 5829  28315 65904 42073 80528 4682  52640 69903 92791 36523 26280
89016 91008 615   66223 90516 11647                                    

Любая сортировка может быть сделана со специальной заданной процедурой, например, отсортировать числа в обратном порядке:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30],
                  Sort = ((X,Y) -> Y < X))
92791 91008 90516 89016 86068 81013 80528 78221 77904 69903 69451 66223
65904 62580 56426 52640 47334 42073 36523 30908 28315 26292 26280 12826
11647 9532  6719  5829  4682  615                                      

Наконец определяемой пользователем процедуре дают, это сортирует числа по сумме их возрастания цифр:

SEED := -1:
output::tableForm([random(100000)() $ k = 1..30],
                  Sort = proc(X,Y)
                           local crossfoot;
                         begin
                           crossfoot :=
                             proc(X)
                               local Xs, k;
                             begin
                               Xs := expr2text(X);
                               _plus(text2expr(substring(Xs, k))
                                     $ k = 1..length(Xs))
                             end_proc;
                           crossfoot(X) < crossfoot(Y)
                         end_proc)
615  81013 42073 52640 91008 26280 36523 11647 12826 66223 9532 28315
30908 4682  78221 26292 90516 47334 62580 56426 80528 6719  5829 65904
89016 69451 77904 69903 92791 86068                                   

Параметры

obj

Список, набор или таблица любого MuPAD возражают или область

separator

Строка между столбцами

Опции

Unquoted

Строки распечатаны без кавычек

Выходная функция fprint вызвана опцией Unquoted.

Unique

Все столбцы имеют ту же ширину

Все столбцы распечатаны с той же шириной, самый широкий столбец определяет ширину каждого столбца.

Width

Опция, заданная как Width = w

Максимальная ширина таблицы установлена в w (вместо TEXTWIDTH). w должен быть положительным целым числом.

Columns

Опция, заданная как Columns = c

Номер столбцов определяется к c. Ширина таблицы зависит от ширины любого столбца.

Примечание

output::tableForm, вызванный этой опцией, берет не, заботятся о значении TEXTWIDTH.

c должен быть положительным целым числом.

Center, Left, Right

Записи каждого столбца выравниваются лево-выровненные по ширине, сосредоточили или выровняли по ширине.

Sort

Опция, заданная как Sort = procedure

Записи сортируются с данной процедурой. Записи могут быть распечатаны неотсортированные, когда procedure является объектом FALSE.

Output

Опция, заданная как Output = file

Выведите в файл. Если file является строкой, файл с именем, file открыт и перезаписан и закрыт после записи. Если file является дескриптором файла (возвращаемое значение fopen), таблица добавлена к file, не закрывая file.

String

Возвратитесь как строка, которая может быть распечатана

Строка содержит разрывы строки и может быть распечатана с print или fprint и опцией Unquoted.

Append

Опция, заданная как Append = string

Символьная строка добавлена к каждой записи списка

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

Пустой объект null()

Смотрите также

Функции MuPAD