14.1.1 Вывод в терминал
Поскольку Octave обычно выводит значение выражения сразу после его вычисления, простейшей из всех функций ввода-вывода является простое выражение. Например, следующее выражение отобразит значение ‘pi’
pi
-| ans = 3.1416 Это хорошо работает, если допустимо отображение имени переменной (или ‘ans’) вместе со значением. Чтобы вывести значение переменной без отображения ее имени, используйте функцию disp.
Команда format предоставляет некоторый контроль над тем, как Octave отображает значения с disp и через механизм обычного отображения.
- : disp (x) ¶
- : str = disp (x) ¶
-
Отобразить значение x.
Например:
disp ("The value of pi is:"), disp (pi) -| the value of pi is: -| 3.1416Обратите внимание, что вывод из
dispвсегда заканчивается новой строкой.Если запрашивается выходное значение,
dispничего не выводит и возвращает отформатированный вывод в строке.См. также: fdisp.
- : list_in_columns (arg, width, prefix) ¶
-
Возвращает строку, содержащую элементы arg, упорядоченные в столбцы с максимальной шириной width и необязательным префиксом prefix.
Аргумент arg должен быть массивом ячеек символьных строк или символьной матрицей.
Если width не указан или является пустой матрицей, или меньше или равен нулю, используется ширина экрана терминала. Символы новой строки используются для разрыва строк в выходной строке. Например:
list_in_columns ({"abc", "def", "ghijkl", "mnop", "qrs", "tuv"}, 20) ⇒ abc mnop def qrs ghijkl tuv whos ans ⇒ Variables in the current scope: Attr Name Size Bytes Class ==== ==== ==== ===== ===== ans 1x37 37 char Total is 37 elements using 37 bytesСм. также: terminal_size.
- : terminal_size () ¶
-
Запрос или установка размера окна терминала. Если вызывается без аргументов, возвращает двухэлементный строчный вектор, содержащий текущий размер окна терминала в символах (строки и столбцы). Если вызывается с двухэлементным вектором целых значений, устанавливает размер терминала и возвращает предыдущее значение. Ручная установка размера не должна быть необходима при использовании readline для редактирования командной строки.
См. также: list_in_columns.
- : format ¶
- : format options ¶
- : [format, formatspacing, uppercase] = format ¶
-
Сбросить или указать формат вывода, производимого
dispи механизмом обычного отображения Octave.Эта команда влияет только на отображение чисел, но не на то, как они хранятся или вычисляются. Чтобы изменить внутреннее представление с по умолчанию double, используйте одну из функций преобразования, таких как
single,uint8,int64, и т. д.По умолчанию Octave отображает 5 значащих цифр в удобочитаемой форме (опция ‘short’, опция ‘lowercase’, и опция ‘loose’ формат для матриц). Если
formatвызывается без каких-либо опций, восстанавливается этот формат по умолчанию.Допустимые опции формата для чисел с плавающей точкой перечислены в следующей таблице.
short-
Формат с фиксированной точкой с 5 значащими цифрами (по умолчанию).
long-
Формат с фиксированной точкой с 16 значащими цифрами.
Как и в формате ‘short’, Octave переключится на экспоненциальный формат ‘e’, если не сможет правильно отформатировать матрицу с помощью текущего формата.
shortelonge-
Экспоненциальный формат. Число, подлежащее представлению, разделяется на мантиссу и показатель степени (степень 10). Мантисса имеет 5 значащих цифр в формате short. В формате long значения double отображаются с 16 значащими цифрами, а значения single отображаются с 8. Например, в формате ‘shorte’ значение
piотображается как3.1416e+00. Необязательно, заключительное ‘e’ может быть разделено на второй аргумент. shortglongg-
Оптимально выбирает между форматом с фиксированной точкой и экспоненциальным форматом в зависимости от величины числа. Например, в формате ‘shortg’ значение
pi .^ [2; 4; 8; 16; 32]отображается какans = 9.8696 97.409 9488.5 9.0032e+07 8.1058e+15Необязательно, заключительное ‘g’ может быть разделено на второй аргумент.
shortenglongeng-
Идентично ‘shorte’ или ‘longe’, но отображает значение в формате инженерного представления, где показатель степени делится на 3. Например, в формате ‘shorteng’ значение
10 * piотображается как31.416e+00. Необязательно, заключительное ‘eng’ может быть разделено на второй аргумент. freenoneВыводит вывод в свободном формате, не пытаясь выровнять столбцы матриц по десятичной точке. Это сырой формат, эквивалентный коду C++
std::cout << variable. Как правило, результат представляет собой представление с 6 значащими цифрами, где подавляется нежелательная точность (например, конечные нули для целых чисел). Комплексные числа отформатированы как числовые пары, например, ‘(0.60419, 0.60709)’, а не как ‘0.60419 + 0.60709i’.
Следующие форматы влияют на весь числовой вывод (типы с плавающей точкой и целые числа).
"+""+""chars"plusplus chars-
Выводит символ ‘+’ для элементов матрицы, больших нуля, символ ‘-’ для элементов, меньших нуля, и пробел для элементов матрицы, равных нулю. Этот формат может быть полезен для изучения структуры разреженности большой матрицы. Для очень больших матриц функция
spy, которая строит диаграмму структуры разреженности, будет более понятна.Необязательный аргумент chars задает список из 3 символов, используемых для отображения значений, больших нуля, меньших нуля и равных нулю. Например, с форматом
"+" "+-.", матрица[1, 0, -1; -1, 0, 1]отображается какans = +.- -.+
- bank
-
Выводит переменную в формате, соответствующем валюте (формат с фиксированной точкой с двумя цифрами справа от десятичной точки). Отображается только действительная часть переменной, так как мнимая часть не имеет смысла для валюты.
- native-hex
-
Выводит шестнадцатеричное представление чисел, как они хранятся в памяти. Например, на рабочем столе, который хранит значения вещественных чисел по 8 байт в формате IEEE с наименее значимым байтом вначале, значение
piпри выводе в форматеnative-hexравно400921fb54442d18. - hex
-
То же, что и
native-hex, но всегда выводит наиболее значимый байт первым. - native-bit
-
Выводит битовое представление чисел, как они хранятся в памяти. Например, значение
piравно01000000000010010010000111111011 01010100010001000010110100011000
(показано здесь в двух 32-битовых разделах для целей форматирования) при выводе в формате native-bit на рабочем столе, который хранит значения вещественных чисел по 8 байт в формате IEEE с наименее значимым байтом вначале.
- bit
-
То же, что и
native-bit, но всегда выводит наиболее значимые биты вначале. - rat
Выводит рациональное приближение, т.е. значения аппроксимируются как отношение малых целых чисел. Например, в формате ‘rat’ значение
piотображается как355/113.
Следующие две опции влияют на отображение научных и шестнадцатеричных обозначений.
lowercase (default)-
Использовать строчную букву ‘e’ для символа показателя степени в научной записи и строчные буквы ‘a-f’ для шестнадцатеричных цифр, представляющих 10-15.
uppercaseИспользовать прописную букву ‘E’ для символа показателя степени в научной записи и прописные буквы ‘A-F’ для шестнадцатеричных цифр, представляющих 10-15.
Следующие две опции влияют на отображение всех матриц.
compact-
Удаляет пустые строки вокруг меток номеров столбцов и между матрицами, создавая более компактный вывод с большим количеством данных на странице.
loose (default)Вставляет пустые строки над и под метками номеров столбцов и между матрицами, чтобы получить более читаемый вывод с меньшим количеством данных на странице.
Если
formatвызывается с несколькими конкурирующими опциями, используется правая опция. В случае ошибки формат остается неизменным.Если вызывается с одним или тремя выходными аргументами и без входных данных, возвращает текущий формат, интервалы формата и предпочтения прописных букв.
См. также: fixed_point_format, output_precision, split_long_rows, print_empty_dimensions, rats.
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v7.2.0/Terminal-Output.html