14.1.1终端输出

因为Octave通常在求值后立即打印表达式的值,因此所有I/O函数中最简单的是表达式。例如,以下表达式将显示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.

广告
 
: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 ()
:terminal_size ([rows,cols])

查询或设置终端窗口的大小。如果在没有参数的情况下调用,则返回一个包含两个元素的行向量,该向量包含以字符(行和列)为单位的终端窗口的当前大小。如果使用两个元素的整数值向量调用,请设置端子大小并返回前一个设置。使用readline进行命令行编辑时,不需要手动设置大小。

详见: list_in_columns.

广告
 
:format
:format options
:format (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'格式。

广告
shorte
longe

指数格式。要表示的数字被划分为尾数和指数(10的幂)。尾数在short格式中有5个有效数字。在长格式中,double值显示为16位有效数字,single值显示为8位。例如,使用shorte格式化pi,显示为3.1416e+00。可选地,结尾为'e'可以拆分为第二个参数。

广告
shortg
longg

根据数字的大小,在不动点和指数格式之间进行最佳选择。例如,使用shortg格式化pi .^ [2; 4; 8; 16; 32],显示为

ans =

      9.8696
      97.409
      9488.5
  9.0032e+07
  8.1058e+15

可选地,结尾为'g'可以拆分为第二个参数。

广告
shorteng
longeng

shortelonge相同,但使用工程格式显示值,其中指数可被3整除。例如,使用shorteng格式化10 * pi,显示为31.416e+00。可选地,结尾为'eng'可以拆分为第二个参数。

广告
free
none

以自由格式打印输出,无需尝试在小数点上排列矩阵。这是一个相当于C++代码std::cout << variable的原始格式。通常,结果是具有6个有效数字的表示,其中抑制了不必要的精度(例如整数的尾随零)。复数的格式为数字对,像这样(0.60419, 0.60709)而不是这样 0.60419 + 0.60709i.

广告

以下格式影响所有数字输出(浮点和整数类型)。

"+"
"+" "chars"
plus
plus chars

打印大于零的矩阵元素的符号+,小于零的矩阵元素的符号-,以及一个空格表示零矩阵元素。此格式可用于检查大矩阵的稀疏性结构体。对于非常大的矩阵,用函数spy绘制稀疏矩阵图将更加清晰。

可选参数chars支持传入一个包含3个字符的列表,用于打印大于零、小于零和等于零的值。例如,使用格式"+" "+-.",矩阵[1, 0, -1; -1, 0, 1]显示为

ans =

+.-
-.+
广告
bank

以适合货币的格式打印变量(固定格式,小数点右侧有两位数字)。只显示变量的实部,因为虚部对货币没有意义。

广告
bit

打印内存中数字的位表示,始终以最高有效位为先。例如pi打印方式如下:

0 10000000000 1001001000011111101101010100010001000010110100011000

其中,为了清楚起见,添加了空格以按符号位、11位指数和52位尾数的顺序显示。它们共同代表pi作为标准形式的IEEE 754双精度浮点数。单精度浮点数是类似的。

广告
native-bit

打印存储在内存中的数字的位表示形式。对于大端机器,这与format bit布局如上图所示。对于小端机器,它将以相反的顺序打印字节,尽管字节内的位仍将以左侧最有效的位表示。

例如,pi在x86-64上的值,此格式为:

00011000 00101101 01000100 01010100 11111011 00100001 00001001 01000000

为清晰起见,此处添加了空格。与上一个位字符串进行比较format bit以查看分组为字节及其排序。

广告
hex

format bit…一样,除了为了简洁起见,每四个比特分为1组,分为十六进制数字之外。因此pi表示为:

400921fb54442d18
广告
native-hex

format native-bit…一样,除了为了简洁起见,每四个比特分为1组,分为十六进制数字之外。因此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-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2