Numpy - 声明一个特定的 nx1 数组
Numpy - Declare a specific nx1 array
我在 python 中使用 numpy,以创建 nx1
矩阵。我希望矩阵的 1st 元素是 3
, 2nd -1
,然后是 n-1 元素 -1
,最后是 n 元素 3
。 元素之间的所有 ,即从元素 3 到元素 n-2 应该是 0
.我画了上面提到的矩阵,是这样的:
我对 python 和使用 numpy 还很陌生,但似乎是管理矩阵的好工具。到目前为止我尝试过的是创建 nx1
数组(给 n
一些值)并将其初始化为 0
。
import numpy as np
n = 100
I = np.arange(n)
matrix = np.row_stack(0*I)
print("\Matrix is \n",matrix)
关于我如何进行的任何线索?或者使用什么套路?
我想有用的是:
import numpy as np
n = 100
I = np.arange(n)
matrix = np.row_stack(0*I)
matrix[0]=3
matrix[1]=-1
matrix[n-2]=-1
matrix[n-1]=3
print("\Matrix is \n",matrix)
In [97]: n=10
In [98]: arr = np.zeros(n,int)
In [99]: arr[[0,-1]]=3; arr[[1,-2]]=-1
In [100]: arr
Out[100]: array([ 3, -1, 0, 0, 0, 0, 0, 0, -1, 3])
轻松更改为 (n,1):
In [101]: arr[:,None]
Out[101]:
array([[ 3],
[-1],
[ 0],
[ 0],
[ 0],
[ 0],
[ 0],
[ 0],
[-1],
[ 3]])
可能最简单的方法就是执行以下操作:
import numpy as np
n = 10
a = np.zeros(n)
a[0] = 3
a[1] = -1
a[len(a)-1] = 3
a[len(a)-2] = -1
>>print(a)
output: [ 3. -1. 0. 0. 0. 0. 0. 0. -1. 3.]
希望对您有所帮助 ;)
我在 python 中使用 numpy,以创建 nx1
矩阵。我希望矩阵的 1st 元素是 3
, 2nd -1
,然后是 n-1 元素 -1
,最后是 n 元素 3
。 元素之间的所有 ,即从元素 3 到元素 n-2 应该是 0
.我画了上面提到的矩阵,是这样的:
我对 python 和使用 numpy 还很陌生,但似乎是管理矩阵的好工具。到目前为止我尝试过的是创建 nx1
数组(给 n
一些值)并将其初始化为 0
。
import numpy as np
n = 100
I = np.arange(n)
matrix = np.row_stack(0*I)
print("\Matrix is \n",matrix)
关于我如何进行的任何线索?或者使用什么套路?
我想有用的是:
import numpy as np
n = 100
I = np.arange(n)
matrix = np.row_stack(0*I)
matrix[0]=3
matrix[1]=-1
matrix[n-2]=-1
matrix[n-1]=3
print("\Matrix is \n",matrix)
In [97]: n=10
In [98]: arr = np.zeros(n,int)
In [99]: arr[[0,-1]]=3; arr[[1,-2]]=-1
In [100]: arr
Out[100]: array([ 3, -1, 0, 0, 0, 0, 0, 0, -1, 3])
轻松更改为 (n,1):
In [101]: arr[:,None]
Out[101]:
array([[ 3],
[-1],
[ 0],
[ 0],
[ 0],
[ 0],
[ 0],
[ 0],
[-1],
[ 3]])
可能最简单的方法就是执行以下操作:
import numpy as np
n = 10
a = np.zeros(n)
a[0] = 3
a[1] = -1
a[len(a)-1] = 3
a[len(a)-2] = -1
>>print(a)
output: [ 3. -1. 0. 0. 0. 0. 0. 0. -1. 3.]
希望对您有所帮助 ;)