모든 점 사이의 절대 값열에있는 모든 점의 절대 값을 서로 쉽게 집계하는 쉬운 방법이 있는지 궁금합니다. 필자는 도구의 무대 위치 데이터를 제공하는 스크립트를 작성했지만 머신의 절대 위치가 아닌 위치의 상대적인 측정 방법을보고 싶습니다.
예 :
3 점이 있다면 1-2 점, 1-3 점, 2-3 점 사이의 거리를 알고 싶습니다.
제가 4 점을 가지고 있다면 1-2, 1-3, 1-4, 2-3, 2-4, 3-4 사이의 거리를 알고 싶습니다.
등등...
작은 데이터 세트의 경우이 작업을 쉽게 수행 할 수 있지만 데이터 세트의 범위는 20-100 점입니다. 나는 솔루션에 대본을 쓰는 데 도움이 될 수있는 아이디어가 담긴 도구를 찾고있다. 어떤 도움이라도 대단히 감사합니다.
다시 : 모든 점 사이의 절대 값완전한! 고마워, 이건 내 응용 프로그램에 참으로 쉬웠다.
파이썬 스크립트를 실행하여 추출한 다음 XML 파일의 위치 데이터를 CSV로 읽습니다. 그런 다음 JMP를 사용하여 CSV에서 스테이지 위치를 분석합니다. 그래서, 나는 무엇을하려고 노력하고 있는지에 대한 다른 jsl을 가지고 있지 않다 ... 아직.
다시 : 모든 점 사이의 절대 값나는 '더 쉽다'는 코드가 무엇을하는지, 어떻게 수행하는지에 달려 있다고 생각한다. 그러나 만약 여러분이 행렬을 더 낮은 삼각형으로 만들고 싶다면 다음을 사용할 수 있습니다 :
Names Default To Here( 1 );
// Data
v = [1, 2, 3, 4];
// Compute Euclidean distance between all pairs of points
dm = Sqrt(Distance(v, v));
// Make matrix dm lower triangular
dm2 = J(NRow(dm), NCol(dm), .);
for (r=1, r<=NRow(dm), r++,
dm2[r, 1::r] = dm[r, 1::r];
);
dt = AsTable(dm2);
다시 : 모든 점 사이의 절대 값대단한 솔루션! 둘 다 내가하는 일에 정말 잘 작동한다. 나는 'Distance ()'기능이 마음에 든다. 나는 더 자세히 조사해야 할 것이다.
후속 질문이 있습니다.
이 두 가지 솔루션은 기본적으로 셀의 각 점 사이의 거리가있는 행렬을 생성합니다. 행렬의 아래쪽 또는 위쪽 삼각형을 제거하는 쉬운 방법이 있는지 궁금합니다. 나는 양측이 필요 없으며 분석이 더 쉬울 것입니다.
다시 : 모든 점 사이의 절대 값좋은
다시 : 모든 점 사이의 절대 값'거리 ()'기능을 사용할 수도 있습니다 ( '도움말> 스크립팅 가이드'참조).
Names Default To Here( 1 );
// Data
v = [1, 2, 3, 4];
// Compute Euclidean distance between all pairs of points
dm = Sqrt(Distance(v, v));
dt = AsTable(dm);
다시 : 모든 점 사이의 절대 값나는 이것이 당신이 원하는 것을 할 것이라고 생각합니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
a = dt:weight << get values;
b = a;
c = [];
For( i = 1, i <= N Rows( a ), i++,
c = c || abs( a[i] - b);
dt << New Column( "col" || Char( i ), values( c[0, i] ) );
);