所有點之間的絕對值我想知道是否有一種簡單的方法可以將一列中所有點的絕對值相互聚合。 我編寫了一些腳本,這些腳本將為我提供工具的階段位置數據,但我想了解這些位置如何相對於自身而不是機器的絕對位置進行測量。
例如:
如果我有 3 點,我想知道 1-2、1-3 和 2-3 之間的距離。
如果我有 4 個點,我想知道 1-2、1-3、1-4、2-3、2-4 和 3-4 之間的距離。
等等...
對於小型數據集,這可以輕鬆完成,但我的數據集範圍為 20-100 個點。 我正在尋找內置的東西或者可能是編寫解決方案的想法。 任何幫助深表感謝。
回复:所有點之間的絕對值完美的! 謝謝,這對我的申請來說確實很容易。
我正在運行一個 python 腳本,該腳本從 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()”函數,我必須進一步研究它。
我有一個後續問題:
這兩種解決方案本質上都會產生一個矩陣,其中包含單元中每個點之間的距離。 我想知道是否有一種簡單的方法可以刪除矩陣的下三角形或上三角形? 我不需要雙方,這將使分析更容易。
回复:所有點之間的絕對值好的
回复:所有點之間的絕對值您還可以使用“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] ) );
);