Ver*_*ion 6 python matlab numpy
我是一个试图切换到Python的Matlab用户.
使用Numpy,如何填充for循环内的矩阵?
例如,矩阵有2列,循环的每次迭代都会for添加一行新数据.
在Matlab中,这将是:
n = 100;
matrix = nan(n,2); % Pre-allocate matrix
for i = 1:n
matrix(i,:) = [3*i, i^2];
end
Run Code Online (Sandbox Code Playgroud)
R. *_*hna 12
首先你必须使用numpy
$ pip install numpy
Run Code Online (Sandbox Code Playgroud)
然后以下应该工作
import numpy as np
n = 100
matrix = np.zeros((n,2)) # Pre-allocate matrix
for i in range(1,n):
matrix[i,:] = [3*i, i**2]
Run Code Online (Sandbox Code Playgroud)
更快的选择:
col1 = np.arange(3,3*n,3)
col2 = np.arange(1,n)
matrix = np.hstack((col1.reshape(n-1,1), col2.reshape(n-1,1)))
Run Code Online (Sandbox Code Playgroud)
Divakar建议,速度更快
I = np.arange(n)
matrix = np.column_stack((3*I, I**2))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14489 次 |
| 最近记录: |