我在 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 = 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.]
希望这有帮助;)
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]])
N = 100 # you can set to whatever number you want
a = np.zeros((N,1)) # you must specify the dimension as a tuple if you want exactly Nx1 array.
a[0]=3
a[1]=-1
a[-1]=3
a[-2]=-1