matlab循环数组里的数据库,用于在matlab的python中循环数组
Matlab代碼的直譯應該是import numpy as np
x = np.zeros((parts, 2))
for i in range(parts):
x[i,0] = i*L + 1
x[i,1] = (i+1)*L
注意,Matlab使用基于1的索引,而Python使用基于0的索引。這就解釋了1在哪里出現的差異。在
但是,在使用NumPy時,如果避免對數組進行逐元素修改,則可以獲得更好的性能。相反,您應該盡可能少地使用NumPy運算符或函數調用來表示計算,這些運算符或函數調用會同時影響整個數組。通過這樣做,您可以盡可能多地卸載NumPy底層的快速C/Fortran編譯函數調用,并減少執行較慢的Python代碼所花費的時間。在
這通常意味著您希望避免使用Python for循環,因為循環意味著這樣做
將執行大量Python語句。在
例如,表達上述計算的更好方法是
^{pr2}$
請注意,x中的值僅使用2個賦值填充。每個
賦值影響x“一次全部”的整列。在
為了了解基于數組的操作有什么不同,
下面是一個使用parts = 10000,L = 3的(IPython)timeit測試:In [16]: %%timeit
....: x = np.zeros((parts, 2))
x[:, 0] = np.arange(1, parts*L, L)
x[:, 1] = x[:, 0] + L - 1
10000 loops, best of 3: 51.9 μs per loop
In [17]: %%timeit
....: x = np.zeros((parts, 2))
for i in range(parts):
x[i,0] = i*L + 1
x[i,1] = (i+1)*L
100 loops, best of 3: 3.58 ms per loop
總結
以上是生活随笔為你收集整理的matlab循环数组里的数据库,用于在matlab的python中循环数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java云应用,JAVA基础教程:云环境
- 下一篇: python服务器稳定性,一种基于Pyt