将矩阵的行相乘得到一个向量:J,j701

时间:2013-07-19 17:04:46

标签: vector matrix multiplication j

我正在和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

但是,你如何看待它乘以列,我想要行。 如何使用* /乘以行?谢谢大家!

1 个答案:

答案 0 :(得分: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”。 Rank是J中的一个基本概念,您需要了解它才能使用该语言。