我想這樣對代碼的東西:試圖總結兩個數組
其中x
和y
是兩個不同的numpy
陣列和j
是數組的索引。我不知道數組的長度,因爲它將由用戶輸入,我不能使用循環來編碼。
我的主要問題是找到一種方法,指標之間移動,因爲我需要從
x[2]-x[1] ... x[3]-x[2]
等去。
我很難過,但我會很感激任何線索。
我想這樣對代碼的東西:試圖總結兩個數組
其中x
和y
是兩個不同的numpy
陣列和j
是數組的索引。我不知道數組的長度,因爲它將由用戶輸入,我不能使用循環來編碼。
我的主要問題是找到一種方法,指標之間移動,因爲我需要從
x[2]-x[1] ... x[3]-x[2]
等去。
我很難過,但我會很感激任何線索。
一個numpy的集成電路解決方案將是:
np.square(np.diff(x)).sum() + np.square(np.diff(y)).sum()
列表解析的方法是:
sum([(x[k]-x[k-1])**2+(y[k]-y[k-1])**2 for k in range(1,len(x))])
會給你你想要的結果,即使你的數據顯示爲列表。
x[2]-x[1] ... x[3]-x[2]
可以概括爲:
x[[1,2,3,...]-x[[0,1,2,...]]
x[1:]-x[:-1] # ie. (1 to the end)-(0 to almost the end)
numpy
可以採取相同形狀的兩個陣列
在列表項之間的差,這將是
[i-j for i,j in zip(x[1:], x[:-1])]
np.diff
基本上這確實,a[slice1]-a[slice2]
,其中slices
如上所述。
完整答案廣場,總數和squareroots。
看看'numpy.diff'然後總結一下。 – Divakar