如何在Python中用NumPy创建一个常数矩阵
矩阵表示按照行和列的顺序排列的数字集合。有必要用小括号或大括号把矩阵的元素括起来。恒定矩阵是一种矩阵类型,其元素是相同的,即无论任何索引值如何,该元素都不会改变,从而起到常数的作用。
示例s:
M = [[x, x, x ] ]。
[x ,x ,x]
[x,x,x]]
这里M是常数矩阵,x是常数元素。
以下是恒定矩阵的一些例子。
A = [[ 5 , 5]
[ 5, 5]]
B = [[ 12, 12, 12, 12, 12, 12]]
在numpy模块中有各种方法,可以用来创建一个恒定的矩阵,如numpy.full(),numpy.ones(),和numpy.zeroes()。
使用numpy.full()方法
语法:
numpy.full(shape, fill_value, dtype = None, order = ‘C’)
参数:
- shape: Number of rows
-
order: C_contiguous or F_contiguous
-
dtype: [optional, float(by Default)] Data type of returned array.
-
fill_value: [bool, optional] Value to fill in the array.
返回值: ndarray of a given constant having given shape, order and datatype.
示例 1:
在这里,我们将创建一个大小为(2,2)(行=2,列=2)的恒定矩阵,恒定值为6.3。
# import required module
import numpy as np
# use full() with a
# constant value of 6.3
array = np.full((2, 2), 6.3)
# display matrix
print(array)
输出:
[[6.3 6.3]
[6.3 6.3]]
示例 2:
一个与上面显示的例子类似的例子
# import required module
import numpy as np
# use full() with a
# constant value of 60
array = np.full((4, 3), 60)
# display matrix
print(array)
输出:
[[60 60 60]
[60 60 60]
[60 60 60]
[60 60 60]]
使用numpy.ones()方法
语法:
numpy.ones(shape, dtype = None, order = ‘C’)
参数:
- shape: integer or sequence of integers
- order: C_contiguous or F_contiguous
- dtype: Data type of returned array.
返回值: ndarray of ones having given shape, order and datatype.
示例 1:
现在,假设我们想打印一个只由1组成的矩阵。
# import required module
import numpy as np
# use ones()
array = np.ones((2,2))
# display matrix
print(array)
输出:
[[1. 1.]
[1. 1.]]
在这里,默认的数据类型是float,因此所有的数字都写成1。现在,我们希望数据类型是一个整数。
# import required module
import numpy as np
# use ones() with integer constant
array = np.ones((2, 2), dtype=np.uint8)
# display matrix
print(array)
输出:
[[1 1]
[1 1]]
注意最后两个输出的变化,其中一个显示,1.而另一个只显示1,这意味着我们在第二个输出中把数据类型转换为整数。uint8代表一个无符号的8位整数,可以代表从0到255的数值。
示例 2:
这里我们创建一个只有1的一维矩阵。
# import required module
import numpy as np
# use ones() with integer constant
array = np.ones((5), dtype=np.uint8)
# display matrix
print(array)
输出:
[1 1 1 1 1]
使用numpy.zeroes()方法
语法:
numpy.zeros(shape, dtype = None, order = ‘C’)
参数:
- shape: integer or sequence of integers
- order: C_contiguous or F_contiguous
- dtype: Data type of returned array.
返回值: ndarray of zeros having given shape, order and datatype.
示例 1:
现在我们做了一个1的矩阵,让我们做一个0的矩阵。
# import required module
import numpy as np
# use zeroes()
array = np.zeros((2,2))
# display matrix
print(array)
输出:
[[0. 0.]
[0. 0.]]
要把它改成一个整数类型。
# import required module
import numpy as np
# use zeroes() with integer constant
array = np.zeros((2,2), dtype=np.uint8)
# display matrix
print(array)
输出:
[[0 0]
[0 0]]
示例 2:
下面是另一个例子,创建一个恒定的一维零点矩阵。
# import required module
import numpy as np
# use zeroes() with integer constant
array = np.zeros((5), dtype=np.uint8)
# display matrix
print(array)
输出:
[0 0 0 0 0]