簡體   English   中英

如何從前一個整數中減去數組中的每個整數並求和

[英]How to subtract each integer in an array from the previous integer and find the summation

我有一個大小為 (122,) 並且由整數組成的 numpy 數組

我想使用以下公式:

在此處輸入圖片說明

我試着做

value=sum((I[:-1]-I[1:])**2))

這一行本身不會產生錯誤,但是每當我嘗試在更大的公式中使用這個值時,它都會給出一個無效的語法錯誤。

我想用這個值插入一個更大的公式

在此處輸入圖片說明

我想知道如何將我的數組插入這個公式的答案例如,較大公式中第二項的代碼,我寫的如下:

calc = np.linalg.norm((RR_intervals[:-1])-(RR_intervals[1:]))                                                                     

p=(n-1)*sqrt(2)
o=(1/p)*calc
t=o**2

如果我嘗試將它與第一個術語結合起來,我會得到一個無效的語法錯誤

完整的解釋器消息: runfile('/home/user_1/p01.py', wdir='/home/user_1') 回溯(最近一次調用最后一次):

文件“/home/user_1/.local/lib/python3.6/site-packages/IPython/core/interactiveshell.py”,第3291行,在run_code exec(code_obj, self.user_global_ns, self.user_ns)

File "", line 1, in runfile('/home/user_1/p01.py', wdir='/home/user_1')

文件“/usr/lib/python3/dist-packages/spyder/utils/site/sitecustomize.py”,第 705 行,在運行文件 execfile(filename, namespace) 中

文件“/usr/lib/python3/dist-packages/spyder/utils/site/sitecustomize.py”,第 102 行,在 execfile exec(compile(f.read(), filename, 'exec'), namespace)

文件“/home/user_1/p01.py”,第 91 行分散 = (sqrt(mt)) ^ SyntaxError: invalid syntax

您可以使用 list :

a = list(numpy_array)
sum([(i-j)**2 for i,j in zip(a,a[1:])])

這應該這樣做:

result = sum((ar[i] - ar[i + 1])**2 for i in range(len(ar) - 1))

使用 numpy:

(((a-np.roll(a,1))**2)[1:]).sum()

注意: [1:]是必需的,因為roll在數組的開頭重新插入元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM