NumPy Eye 函数

Beginner

介绍

在本实验中,我们将学习 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 的矩阵。我们介绍了该函数的语法、参数,并通过一些示例来帮助理解其用法。