geekdoc-python-zh/docs/askpython/numpy-real-numpy-imag.md

5.8 KiB
Raw Permalink Blame History

NumPy real 和 NumPy imag 完全指南

原文:# t0]https://www . aspython . com/python-modules/num py/numpy-real-numpy-imag

嘿大家,欢迎回到另一个令人兴奋的 NumPy 教程。

你们一定都熟悉复数,对吧?如果没有,让我给你一个快速回顾。所以,复数是由两部分组成的特殊数字,实部和虚部。形式为 **z = x+yi 的数 z ,其中 x 和 y 是实数,那么数 z**被称为复数。

这个简短的介绍是本教程所必需的,因为它是进一步理解这两个函数的基础。现在,我们可以仅仅通过使用简单的 NumPy 函数来提取复数的实部和虚部吗?是的,我们可以使用 NumPy 库的两个函数来实现,即 numpy.real()numpy.imag()

这就是我们将在文章中讨论的内容。

理解数字真实

在 NumPy 库的众多函数中, numpy real 是一个提取复杂参数的实数部分的函数。

让我们来看看函数的语法。

NumPy real 的语法

numpy.real(val)

输入 val 可以是单个复数,也可以是复数的 NumPy 数组。

我们将在代码片段部分讨论它的返回类型,因为通过观察输出,您会更容易理解它。

使用 NumPy real

让我们写一些代码,让我们对函数的理解更清晰。

1.单个复数的 NumPy 实数

import numpy as np

# Passing Complex Numbers as argument to the fucntion
print("The real part of 1+3j is:",np.real(1+3j))
print("The real part of 3j is:",np.real(3j))

print("\n")

# Passing real numbers as argument to the function
print("The real part of 1 is:",np.real(1))
print("The real part of -1.1 is:",np.real(-1.1))

输出

The real part of 1+3j is: 1.0
The real part of 3j is: 0.0

The real part of 1 is: 1
The real part of -1.1 is: -1.1

**注:**每一个实数都可以表示为复数。例如1 可以表示为 1+0i其中虚部变为 0。

在上面的例子中,我们已经将复数和实数作为输入传递给了 np.real() 函数。注意到这两种情况下输出的差异真的很有趣。

当一个复数作为参数传递给函数时,输出是类型 float 。然而,当一个实数作为参数传递给函数时,那么输出的类型就是与输入数字相同的**。这只是函数返回类型的不同。**

2.NumPy 复数数组的 NumPy 实数

import numpy as np

a = np.array((1+3j , 3j , 1 , 0.5))

b = np.real(a)

print("The input array:\n",a)
print("The real part of the numbers:\n",b)

输出

The input array:
 [1\. +3.j 0\. +3.j 1\. +0.j 0.5+0.j]
The real part of the numbers:
 [1\.  0\.  1\.  0.5]

我们来理解一下上面的例子。这里,我们创建了一个变量 a 来存储四个元素的 NumPy 数组,其中两个是复数,另外两个是实数。

在下一行中,我们使用了 np.real() 函数来提取输入数组中元素的实部。该函数的输出是一个 NumPy 数组,存储在变量 b 中。

在接下来的两行中,我们使用了两个 print 语句来分别打印输入数组和输出数组。

这就是使用 NumPy 实数函数的全部内容。现在,我们将了解 NumPy imag 函数。

关于 NumPy imag

NumPy imag 也是 NumPy 库的数学函数之一,提取复数实参的虚部

它的语法非常类似于 NumPy 实函数。

NumPy 图像的语法

numpy.imag(val)

输入 val 可以是单个复数,也可以是复数的 NumPy 数组。

它的返回类型与我们在上一节中讨论的 NumPy 实函数的返回类型完全相似。

使用 NumPy 图像

让我们对不同类型的输入值使用这个函数。

1.单个复数的 NumPy 图像

import numpy as np

# Passing Complex Numbers as argument to the fucntion
print("The imaginary part of 1+3j is:",np.imag(1+3j))
print("The imaginary part of 3j is:",np.imag(3j))

print("\n")

# Passing imag numbers as argument to the function
print("The imaginary part of 1 is:",np.imag(1))
print("The imaginary part of -1.1 is:",np.imag(-1.1))

输出

The imaginary part of 1+3j is: 3.0
The imaginary part of 3j is: 3.0

The imaginary part of 1 is: 0
The imaginary part of -1.1 is: 0.0

这里,输出的类型取决于函数的输入类型。我们可以观察到,如果一个复数作为输入被传递,那么函数的输出是一个浮点数,而如果输入是一个实数,输出数的类型取决于输入数的类型。

函数 np.imag() 提取复数的虚部。与复数中的术语“j”相关联的数字是复数的虚部**。**

2.复数 NumPy 数组的 NumPy 图像

import numpy as np

a = np.array((1+3j , 3j , 1 , 0.5))

b = np.imag(a)

print("The input array:\n",a)
print("The imaginary part of the numbers:\n",b) 

输出

The input array:
 [1\. +3.j 0\. +3.j 1\. +0.j 0.5+0.j]
The imaginary part of the numbers:
 [3\. 3\. 0\. 0.] 

在上面的代码片段中,前两个输出是清楚的,但是为什么输出数组中的另外两个值是 0 呢?

实际上,输入数组的后两个元素是实数,可以分别写成 1+0j0.5+0j 。所以,很明显,两个数的虚部都等于 0。这就是输出数组中最后两个值等于 0 的原因。

所以,这就是使用 NumPy real 和 NumPy imag 函数的全部内容。

摘要

在本文中,我们学习了 NumPy real 和 imag 函数以及不同类型的示例。我们还了解了这两个函数的返回类型,这是本文最有趣的部分🙂

不断学习,不断探索更多这样的文章。

参考