小编Sim*_*ley的帖子

返回 APL 中旋转 90、180 和 270 度的矩阵以及外积

我正在尝试编写一些 APL 代码,该代码将获取一个矩阵并返回该矩阵及其所有 90 度旋转。

\n

作为旋转函数,我有: {(\xe2\x8c\xbd\xe2\x88\x98\xe2\x8d\x89)\xe2\x8d\xa3\xe2\x8d\xba\xe2\x8a\xa2\xe2\x8d\xb5},它在右侧采用矩阵,在左侧采用 CW 旋转数,并且它本身似乎工作得很好。

\n

为了生成所有 4 个输出数组,我尝试使用外部积,如下所示:

\n
r \xe2\x86\x90 {(\xe2\x8c\xbd\xe2\x88\x98\xe2\x8d\x89)\xe2\x8d\xa3\xe2\x8d\xba\xe2\x8a\xa2\xe2\x8d\xb5}\nmat2 \xe2\x86\x90 (2 2 \xe2\x8d\xb4 \xe2\x8d\xb34)\n\n0 1 2 3  \xe2\x88\x98.r mat2\n
Run Code Online (Sandbox Code Playgroud)\n

但它不起作用,只返回基本数组 4 次。我希望它使用左侧术语作为左侧参数单独应用于右侧参数。

\n

然而,当我在右侧给出多个参数时,它似乎做了我想要的事情 - 这里它对 2x2 和 3x3 矩阵进行 0 度和 90 度旋转:

\n
mat2 \xe2\x86\x90 (2 2 \xe2\x8d\xb4 \xe2\x8d\xb34)\nmat3 \xe2\x86\x90 (3 3 \xe2\x8d\xb4 \xe2\x8d\xb39)\n\n\xe2\x8d\x9d This does what I was expecting\n       0 1 \xe2\x88\x98.r mat2 mat3\n\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x821 2\xe2\x94\x821 2 3\xe2\x94\x82\n\xe2\x94\x823 4\xe2\x94\x824 5 6\xe2\x94\x82\n\xe2\x94\x82   \xe2\x94\x827 8 9\xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xa4\n\xe2\x94\x823 1\xe2\x94\x827 4 1\xe2\x94\x82\n\xe2\x94\x824 …
Run Code Online (Sandbox Code Playgroud)

arrays apl

5
推荐指数
1
解决办法
512
查看次数

标签 统计

apl ×1

arrays ×1