追加 2 个矩阵

Appending 2 matrices

   ]v=: 1 2;3 4;0 5;2 1 
┌───┬───┬───┬───┐
│1 2│3 4│0 5│2 1│
└───┴───┴───┴───┘
   ]d=: 1 0.5 1 0.25;0.5 1 0.75 0.25;1 0.75 1 0;0.75 0.25 0 1
┌────────────┬───────────────┬──────────┬─────────────┐
│1 0.5 1 0.25│0.5 1 0.75 0.25│1 0.75 1 0│0.75 0.25 0 1│
└────────────┴───────────────┴──────────┴─────────────┘
   force_constant=: monad def '(v ((y{>"0 v);])@{~ ] i.4) ,"1 0 <"0>(y{d)'
   force_constant 0
┌───┬───┬────┐
│1 2│1 2│1   │
├───┼───┼────┤
│1 2│3 4│0.5 │
├───┼───┼────┤
│1 2│0 5│1   │
├───┼───┼────┤
│1 2│2 1│0.25│
└───┴───┴────┘
   diff=: monad def '(v ((y{>"0 v);])@{~ ] i.4)'
   direction_vector=: monad def '<"1(-/"2(>diff y))'
   direction_vector 0
┌───┬─────┬────┬────┐
│0 0│_2 _2│1 _3│_1 1│
└───┴─────┴────┴────┘

然后,我想将 direction_vector 0 附加到 force_constant 0,它应该如下所示:

┌───┬───┬────┐─────┐
│1 2│1 2│1   │0 0  │
├───┼───┼────┼─────┤
│1 2│3 4│0.5 │_2 _2│
├───┼───┼────┼─────┤
│1 2│0 5│1   │1 _3 │
├───┼───┼────┼─────┤
│1 2│2 1│0.25│_1 1 │
└───┴───┴────┴─────┘

我多次尝试附加这两个矩阵,但它给了我奇怪的矩阵。

有人能帮帮我吗?谢谢

使用二元动词 Stitch ., 将 force_constant 的项目与 direction_vector 的项目放在一起。来自 J 词典 http://www.jsoftware.com/help/dictionary/d321.htm

   (force_constant ,. direction_vector)  0  NB. fork 
+---+---+----+-----+
|1 2|1 2|1   |0 0  |
+---+---+----+-----+
|1 2|3 4|0.5 |_2 _2|
+---+---+----+-----+
|1 2|0 5|1   |1 _3 |
+---+---+----+-----+
|1 2|2 1|0.25|_1 1 |
+---+---+----+-----+