【发布时间】:2012-01-25 14:02:32
【问题描述】:
我创建了一个 PDL 矩阵。我需要在每一行之间进行成对比较。目前我正在使用“where”和“cov”命令返回两个切片的成对比较(在 perl 循环中生成)。
我的问题:如何使用“范围”和“切片”以成对的方式遍历行?如何返回我的索引位置?我已经使用 perl 遍历了矩阵。我读过用 perl 循环真的削弱了 PDL 的力量。
期望的输出:
indexA indexB Value
pos1 pos5 1
pos1 pos6 5
pos1 pos0 7
明确地说,我只想使用 PDL 功能。
这里有一些伪代码(希望)能更好地说明我的观点。
p $b
[
[1 0 3 0]
[0 1 0 1]
[1 3 1 3] <- example piddle y
[0 1 0 1] <- example piddle z
]
my concept function{
slice $b (grab row z) - works fine
slice $b (grab row y) - works fine
($a, $b) = where($a,$b, $a < 3 && $b < 3 ) - works fine
p $a [1 1]
p $b [0 0]
cov($a $b) - works just fine.
}
我只需要一种在所有行中成对执行的方法。我需要进行阶乘(n 行)比较。
【问题讨论】:
-
绝望...我现在正在写一个perl循环,但很遗憾。
-
我不太确定你在说什么。你能举一个更具体的例子来说明你正在使用的数据吗?