J:输入矩阵的方便方法?

时间:2014-10-07 17:14:22

标签: matrix j

我有一个用纸写的 n -by- m 矩阵,我想在J.上进行计算。
我可以输入这样的矩阵( n = 3, m = 3):

   A =: 3 4 $ 1 3 2 4 7 8 1 2 2 0 0 1

问题是如何输入这样的矩阵:

   A =: (something here)
1 3 2 4
7 8 1 2
2 0 0 1
)

我之所以提出这样一个奇怪的问题,是因为我在某本书中看到过使用动词0 : 0或类似内容输入矩阵的类似方法,但我记不清楚在哪里。的:{

2 个答案:

答案 0 :(得分:2)

我将(something here)用作(".;._2) 0 : 0。这样我也可以混合表达式。

] A =: (".;._2) 0 : 0
5 $ 0
? 5 $ 5
5 $ 1
1 2 3 2 1
)
0 0 0 0 0
2 1 0 0 3
1 1 1 1 1
1 2 3 2 1

答案 1 :(得分:2)

使用二元(而不是一元)".将尝试将每一行解析为一串数字,而不是将其评估为J句。如果字符串无法解析为数字,则使用左参数(以下示例中为_99)。这种方法将正确解释表示为字符串的更大数字集。

选择noun define而不是0 : 0只会保存一组括号,而这些括号是将_20分开所必需的。

   ]A =: _99&".;._2 noun define
1 -3 2 4
7 8 1 2
2 0 0 1
)
1 _3 2 4
7  8 1 2
2  0 0 1