在 Q 中向矩阵添加一行?
Adding a row to a matrix in Q?
我目前有一个 3 x 3 矩阵 "m":
1 2 3
4 5 6
7 8 9
我想在矩阵 'm' 中添加一行以获得矩阵的结果:
1 2 3
4 5 6
7 8 9
10 11 12
q 中的矩阵只是列表的列表,其中内部列表表示行。
m: ((1 2 3);(4 5 6);(7 8 9))
要再添加一行,您只需再添加一个内部列表即可:
m: m,enlist 10 11 12
enlist
在这里很重要,没有它你会得到这样的结果:
q)((1 2 3);(4 5 6);(7 8 9)),10 11 12
1 2 3
4 5 6
7 8 9
10
11
12
我同意;使用0N!x查看结构很有用
要达到你想要的,那么你可以简单地做;
q)show m:3 cut 1+til 9 /create matrix
1 2 3
4 5 6
7 8 9
q)show m,:10 11 12 /join new 'row'
1 2 3
4 5 6
7 8 9
10 11 12
q)
我目前有一个 3 x 3 矩阵 "m":
1 2 3
4 5 6
7 8 9
我想在矩阵 'm' 中添加一行以获得矩阵的结果:
1 2 3
4 5 6
7 8 9
10 11 12
q 中的矩阵只是列表的列表,其中内部列表表示行。
m: ((1 2 3);(4 5 6);(7 8 9))
要再添加一行,您只需再添加一个内部列表即可:
m: m,enlist 10 11 12
enlist
在这里很重要,没有它你会得到这样的结果:
q)((1 2 3);(4 5 6);(7 8 9)),10 11 12
1 2 3
4 5 6
7 8 9
10
11
12
我同意;使用0N!x查看结构很有用
要达到你想要的,那么你可以简单地做;
q)show m:3 cut 1+til 9 /create matrix
1 2 3
4 5 6
7 8 9
q)show m,:10 11 12 /join new 'row'
1 2 3
4 5 6
7 8 9
10 11 12
q)