1 引言
在《输入和输出table: table export/import》一文中,讨论了table的输入和输出方法,但有一个问题没有说明,那就是数据文件中第2行的“0.0”的含义。本文旨在补充说明这个数值的变化对读取文件的影响。
2 table 输入和输出命令
在补充说明“0.0”的含义之前,首先回顾一下完整的table输入和输出命令。在多数情况下我们可以使用下面的命令进行操作。
table 'result' import 't1.dat'
table 'result' export 't1.dat'
(1) 文件默认的扩展名是".tab", 因为table是一个纯文本文件,因此也可以使用扩展名".dat"。
(2) 当文件输出时,table export 可以选择三个关键字,第一个是append, 假如不改文件名的话,以后运行的数据就会附加到第一次运行的数据中, 这是默认的选项;第二个是truncate, 这个关键字类似于 table clear 命令,即把原来的数据清空,用新的数据代替原有的数据,这两个关键字与 Python中的含义相同;第三个关键字是csv,csv文件可以直接被外部的其它程序调用。
3 table 格式
table文件由三大部分组成,第一行是table的标签,可以是任意长度的文字描述;第二行由两个数字组成,第一个是一个整形数字,表示数据记录数,也就是共有多少组数据,这个数值可以通过FISH语句来得到:[table_size = table.size('mwu')];第二个数字是x变量的变化步长。当输出一个table时,默认的值是"0.0", 在这种情况下,输入给定的(x,y)值,如《输入和输出table: table export/import》一文中所述的那样。如果这个值是一个非零值,那么这个值指的是x的变化步长。在这种情况下, table文件只需输入y值即可。下面举一个例子。
把下面的数据保存成文件t2.dat输入,然后输出文件为"t3.dat".
Table import example (8/04/2020)
10 -2.4
0
1
1
2
3
5
8
13
21
34
model new
table 'result' import 't2.dat'
table 'result' export 't3.dat'
现在t3.dat变成了下面的样子,可以看出x的值以步长-2.4的变化对应着y值。
result Table import example (8/04/2020)
10 0.0
0.000000e 00 0.000000e 00
-2.400000e 00 1.000000e 00
-4.800000e 00 1.000000e 00
-7.200000e 00 2.000000e 00
-9.600000e 00 3.000000e 00
-1.200000e 01 5.000000e 00
-1.440000e 01 8.000000e 00
-1.680000e 01 1.300000e 01
-1.920000e 01 2.100000e 01
-2.160000e 01 3.400000e 01
现在问题来了,如果把上面的数据第二行改为10 2.4, 其它不变,作为输入数据,然后再输出,结果会怎样呢?结果如下所示。
result result Table import example (8/04/2020)
10 0.0
0.000000e 00 0.000000e 00
2.400000e 00 0.000000e 00
4.800000e 00 -2.400000e 00
7.200000e 00 1.000000e 00
9.600000e 00 -4.800000e 00
1.200000e 01 1.000000e 00
1.440000e 01 -7.200000e 00
1.680000e 01 2.000000e 00
1.920000e 01 -9.600000e 00
2.160000e 01 3.000000e 00
可以看出,在这种情况下,y值是按行的顺序依次选取的。这意味着当我们按一定步长输入y值时,在一行中输入即可。
Table import example (8/04/2020)
10 -2.4
0 1 1 2 3 5 8 13 21 34
4 结束语
本文相对完整地解析了table的输入和输出功能,是《输入和输出table: table export/import》一文的补充和完善。此外,history的内容可以通过history export命令复 制到table中, 也可以通过history import命令将ASCII文件的内容复 制到table中, 这个以后再作详细探索。参考文献:cmd_table.import.html;cmd_table.export.html
与外部数据交互: table命令与table FISH
增加和改进table: table add/insert | table.value
输入和输出table: table export/import
FLAC3D 7.0 新特性简介(P2)---FISH的显著改进
3DEC的编程变化(1)