我对APL很新,我正在努力将矢量v的每个元素乘以矢量,使得它返回一个n x n方阵,其中n是矢量的长度。
例如,
v ← 1 0 0 1.
我试图创建一个如下函数:
⍳⍴v{⍵×⍵[⍺]}v
1 4 9 16
我没有通过向量迭代ioda,这是我需要指导的一部分。我的总体目标是返回一个矩阵:
v_1 x v - > 1 0 0 1
v_2 x v - > 0 0 0 0
v_3 x v - > 0 0 0 0
v_4 x v - > 1 0 0 1
我会继续努力解决这个问题。感谢任何帮助,谢谢!
答案 0 :(得分:0)
"外部产品"救援来了:
(⍳10)∘.×⍳10
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
顺便说一句,如果您正在尝试学习Dyalog APL,我建议您查看" REST Assured"。如果您正在尝试学习不同的方言,我建议您考虑改为Dyalog。 (我是一名Dyalog-Fanboy,并且在20年前就做出了改变。今天,Dyalog似乎是唯一一个积极开发和增强的APL-Interpreter ......)