介绍
在本实验中,我们将学习 NumPy 的 eye() 函数,该函数用于创建一个对角线元素为 1,其他元素为 0 的矩阵。我们将涵盖该函数的语法、参数以及一些示例,以帮助你理解其用法。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到 Notebook 标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,可以随时向 Labby 寻求帮助。实验结束后请提供反馈,我们将及时为你解决问题。
导入 NumPy 库
在使用 NumPy 库及其函数之前,我们需要先导入它。可以通过以下代码导入:
import numpy as np
使用 eye() 函数创建矩阵
我们将使用 eye() 函数创建一个矩阵。该函数返回一个对角线元素为 1,其他元素为 0 的矩阵。
x = np.eye(4,4)
print(x)
输出:
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
创建主对角线偏移的矩阵
我们可以通过使用 k 参数来创建一个对角线元素不在主对角线上的矩阵。如果 k=1,则对角线会向右移动一个位置;如果 k=-1,则对角线会向左移动一个位置。k=0 表示主对角线。
y = np.eye(4,4,k=1)
print(y)
输出:
array([[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.],
[0., 0., 0., 0.]])
创建整数数据类型的矩阵
我们可以通过将 dtype 参数指定为 int 来创建一个整数数据类型的矩阵。
z = np.eye(4,4,dtype=int)
print(z)
输出:
array([[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]])
创建行数和列数不同的矩阵
我们可以通过在 eye() 函数中指定行数和列数来创建任意行数和列数的矩阵。
w = np.eye(3,4,k=-1,dtype=int)
print(w)
输出:
array([[0, 0, 0, 0],
[1, 0, 0, 0],
[0, 1, 0, 0]])
eye() 和 identity() 函数的区别
identity() 函数创建一个对角线元素为 1,其他元素为 0 的方阵。而 eye() 函数可以创建任意行数和列数的矩阵,其对角线元素为 1,其他元素为 0。
i = np.identity(4,dtype=int)
print(i)
output:
[[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]]
总结
在本实验中,我们学习了 NumPy 的 eye() 函数,它可以创建一个对角线元素为 1,其他元素为 0 的矩阵。我们介绍了该函数的语法、参数,并通过一些示例来帮助理解其用法。