由于 Octave 通常在表达式求值后立即打印其值,因此所有 I/O 函数中最简单的就是一个简单的表达式。例如,以下表达式将显示 pi 的值:
pi
-| ans = 3.1416
只要可以接受将变量名(或 ans)与值一起打印,这种方式就很有效。要打印变量的值而不打印其名称,请使用函数 disp。
format 命令对 Octave 通过 disp 以及正常的回显机制打印值的方式提供了一定程度的控制。
(x) ¶str = disp (x) ¶显示 x 的值。
例如:
disp ("The value of pi is:"), disp (pi)
-| the value of pi is:
-| 3.1416
请注意,disp 的输出始终以换行符结尾。
如果请求了输出值,disp 将不打印任何内容,而是以字符串形式返回格式化后的输出。
另请参阅:fdisp.
str = 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.
[rows, cols] = terminal_size () ¶([rows, cols]) ¶查询或设置终端窗口的大小。如果不带参数调用,则返回一个包含两个元素的行向量,表示终端窗口当前的大小(以字符计,分别为行数和列数)。如果使用一个包含两个整数值的向量调用,则设置终端大小并返回之前的设置。使用 readline 进行命令行编辑时,通常不需要手动设置大小。
另请参阅:list_in_columns.
options ¶(options) ¶[format, formatspacing, uppercase] = format ¶重置或指定 disp 和 Octave 正常回显机制所产生输出的格式。
此命令仅影响数字的显示方式,而不影响其存储或计算方式。要从默认的双精度类型更改内部表示,请使用转换函数之一,如 single、uint8、int64 等。任何改变显示有效数字位数的 format 选项也会反映在 output_precision 函数中。
默认情况下,Octave 以人类可读的形式显示 5 位有效数字(选项 short、lowercase 和 loose 矩阵格式)。如果 format 不带任何选项调用,或指定了 default 选项,则恢复为此默认格式。
浮点数的有效格式选项如下表所示。
default恢复上述的默认格式状态。
short定点格式,显示 5 位有效数字(默认值)。
long定点格式,显示 16 位有效数字。
与 short 格式一样,如果 Octave 无法使用当前格式正确显示矩阵,它将切换到指数 e 格式。
shortelonge指数格式。要表示的数字被拆分为尾数和指数(10 的幂)。短格式中尾数有 5 位有效数字。长格式中,双精度值显示 16 位有效数字,单精度值显示 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以自由格式打印输出,不尝试在 decimal point 上对齐矩阵的列。这是一种原始格式,相当于 C++ 代码 std::cout << variable。通常,结果会显示 6 位有效数字,并抑制不必要的精度(例如整数的尾随零)。复数格式化为数值对,形如 (0.60419, 0.60709),而不是 0.60419 + 0.60709i。
以下格式影响所有数值输出(浮点数和整数类型)。
"+""+" "chars"plusplus chars对于大于零的矩阵元素打印 + 符号,对于小于零的元素打印 - 符号,对于零元素打印空格。此格式对于检查大型矩阵的稀疏结构非常有用。对于非常大的矩阵,绘制稀疏模式的函数 spy 会更清晰。
可选参数 chars 指定三个字符的列表,分别用于打印大于零、小于零和等于零的值。例如,使用格式 "+" "+-.",矩阵 [1, 0, -1; -1, 0, 1] 显示为:
ans = +.- -.+
bank以适合货币的格式打印变量(定点格式,保留小数点后两位)。仅显示变量的实部,因为虚部对货币而言没有意义。
bit打印数字在内存中的位表示,始终以最高有效位在前。例如,pi 打印如下:
0 10000000000 1001001000011111101101010100010001000010110100011000
其中为清晰起见添加了空格,依次显示符号位、11 位指数和 52 位尾数。它们共同将 pi 表示为标准形式的 IEEE 754 双精度浮点数。单精度浮点数类似。
native-bit打印数字在内存中存储时的位表示。对于大端机器,这与上面看到的 format bit 布局相同。对于小端机器,它将按相反顺序打印字节,但字节内的位仍以最高有效位在左侧的方式呈现。
例如,在 x86-64 上,pi 在此格式下的值为:
00011000 00101101 01000100 01010100 11111011 00100001 00001001 01000000
此处为清晰起见添加了空格。与之前 format bit 的位字符串比较,可以看到按字节分组及其排序方式。
hex与上面的 format bit 相同,只是为简洁起见,每四位一组转换为十六进制数字。因此 pi 表示为:
400921fb54442d18
native-hex与上面的 format native-bit 相同,只是为简洁起见,每四位一组转换为十六进制数字。因此 pi 在 x86-64 上表示为:
182d4454fb210940
rat打印有理逼近值,即将值近似为小整数的比值。例如,使用 rat 格式时,pi 显示为 355/113。
以下两个选项影响科学记数法和十六进制记数法的显示。
lowercase (default)在科学记数法中使用小写 e 作为指数字符,并使用小写 a-f 表示 10-15 的十六进制数字。
uppercase在科学记数法中使用大写 E 作为指数字符,并使用大写 A-F 表示 10-15 的十六进制数字。
以下两个选项影响所有矩阵的显示。
compact删除列号标签周围以及矩阵之间的空行,从而产生更紧凑的输出,每页包含更多数据。
loose (default)在列号标签的上方和下方以及矩阵之间插入空行,以产生更易读的输出,每页数据更少。
如果使用多个互斥选项调用 format,则使用最右侧的选项,但 default 除外,它将覆盖所有其他选项。如果发生错误,格式将保持不变。
如果使用一到三个输出参数且无输入参数调用,则返回当前格式、格式间距和大写偏好。同时指定输出和输入参数将产生错误。
另请参阅:fixed_point_format、output_precision、split_long_rows、print_empty_dimensions、rats.
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2