gpt4 book ai didi

arrays - 由 J 中的多个子数组组成矩阵

转载 作者:行者123 更新时间:2023-12-03 02:31:12 24 4
gpt4 key购买 nike

我想从 4 个给定的较小子矩阵中组成一个名为 F 的 12x12 矩阵,这些子矩阵应位于不同的位置:

  • 形状为 3x6 的数组 A 应从 (0;0) 到 (2;5)
  • 形状为 4x9 的数组 B 应从 (3;3) 到 (6;11)
  • 形状为 3x3 的数组 C 应从 (7;0) 到 (9;2)
  • 形状为 2x3 的数组 D 应从 (10;6) 到 (11;8)

所有其他原子都是零。我开始设置 F =: 12 12 $ 0 但尝试 amend 失败动词。对此的最佳实践是什么?

我的子数组是:
=: 3 6 $ _1 1 0 0 0 0 0 0 _1 0 0 1 0 0 0.99 0 _1 0
B=:4 9 $ 1 0 0 1 0 0 _1 0 0 0 1 0 0 0 0 0 _1 0 0 1 0 0 _1 0 0 0 0 1 0 1 1 0 1 1 0 1
C =: 3 3 $ 1 0 0 0 1 0 0 0 1
D =: 2 3 $ 1 0 0 0 0 1

最佳答案

根据每个数组的形状创建坐标列表。

 c_D =: {@(;&i.)/ $ D
┌───┬───┬───┐
│0 0│0 1│0 2│
├───┼───┼───┤
│1 0│1 1│1 2│
└───┴───┴───┘

将偏移量添加到上面的坐标

c_D =: (<10 6) + &.> c_D

现在使用修改:

D c_D } F

您可以形成一个动名词来简化此过程,大致如下:

g =: 3 : '({.y) +&.> {@(;&i.)/$ >{:y'
m =: ((>@{:@[)`(g@[)`])

((0 0);A) m} F
((3 3);B) m} F
etc.

关于arrays - 由 J 中的多个子数组组成矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45654763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com