0

我正在用 J 编程。我有这个向量:

    F =: 5>\i.10
    F
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

我怎样才能得到这个向量作为结果:

   (*/ 0 1 2 3 4), (*/ 1 2 3 4 5), (*/ 2 3 4 5 6), (*/ 3 4 5 6 7), (*/ 4 5 6 7 8), (*/ 5 6 7 8 9)
0 120 720 2520 6720 15120
   NB. I want to multiply all the rows

我试过了:

   */ F
0 720 5040 20160 60480

但是,你怎么能看到它乘以列,而我想要行。如何使用 */ 将行相乘?谢谢你们!

4

1 回答 1

1

简而言之,你想要的是5 */\ i.10

   5 */\ i.10
0 120 720 2520 6720 15120

但是,如果您曾经在另一个上下文中遇到过这个问题,并且您真的想解决这些行,您可以说:

   ]M=:5>\i. 10
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

   */ rows M
0 120 720 2520 6720 15120

行由标准库定义为"1. 也就是说,它应用了“等级 1”的动词。等级是 J 中的一个基本概念,您需要理解它才能在语言中进步。

于 2013-07-19T17:10:56.893 回答