나는 PDL 행렬을 만들었습니다. 각 행을 쌍으로 비교해야합니다. 현재 저는 'where'와 'cov'명령을 사용하여 두 슬라이스에 대한 pairwise 비교를 리턴합니다 (perl 루프에서 생성됨).PDL pairwise 행 비교
내 질문 : 어떻게 '범위'와 '슬라이스'를 사용하여 쌍으로 패션을 반복 할 수 있습니까? 내 색인 위치를 반환하려면 어떻게해야합니까? 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 행) 비교가 필요합니다.
절망에서 튀어 나와 ... 나는 지금 펄 루프를 쓰고 있지만 유감 스럽다. –
나는 당신이 무엇을 얻고 있는지 잘 모르겠습니다. 사용중인 데이터에 대해보다 구체적인 예를 들려 줄 수 있습니까? –