Python NumPy – 如果输入是复数且所有虚数部分接近零,则返回实数部分
在这篇文章中,我们将讨论在Python中,如果输入是复数且所有虚数部分接近于零,如何返回实数部分。
numpy np.real_if_close()方法用于在输入复数的所有虚部接近于零时返回实部。”接近零 “定义为tol * (a的类型的机器ε)。
语法: numpy.real_if_close(a, tol=100)
参数:
- a:类似数组的对象。 输入数组。
- tot:阵列元素的复数分量的机器epsilons公差。
返回值:
out:如果an为真,则利用an的类型进行输出。如果有复杂的元素,返回的类型是float。
示例 1:
在这个例子中,NumPy包被导入。使用numpy.array()方法创建了一个数组,其中包含复数,虚部接近0,np.real_if_close()返回实部。数组的形状、数据类型和尺寸可以通过.shape, .dtype , 和 .ndim属性找到。
import numpy as np
# Creating an array
array = np.array([1,2+3.e-18j,-3+4.e-14j])
print(array)
# shape of the array is
print("Shape of the array is : ",array.shape)
# dimension of the array
print("The dimension of the array is : ",array.ndim)
# Datatype of the array
print("Datatype of our Array is : ",array.dtype)
# returning real part
print(np.real_if_close(array, tol= 1000))
输出:
[ 1.+0.e+00j 2.+3.e-18j -3.+4.e-14j]
Shape of the array is : (3,)
The dimension of the array is : 1
Datatype of our Array is : complex128
[ 1. 2. -3.]
示例 2:
在这种情况下,虚数并不接近于零,所以返回的是同一个数组。
import numpy as np
# Creating an array
array = np.array([1+5j,3-6j])
print(array)
# shape of the array is
print("Shape of the array is : ",array.shape)
# dimension of the array
print("The dimension of the array is : ",array.ndim)
# Datatype of the array
print("Datatype of our Array is : ",array.dtype)
# returning real part
print(np.real_if_close(array, tol= 1000))
输出:
[1.+5.j 3.-6.j]
Shape of the array is : (2,)
The dimension of the array is : 1
Datatype of our Array is : complex128
[1.+5.j 3.-6.j]