파이썬의 numpy.allclose()

| | | | | | | | | | | | | | |

다음 방정식이 요소별 True인 경우 allclose는 True를 반환합니다.
절대 (arr1 - arr2) "= (atol + rtol * 절대(arr2))
위 방정식은 arr1과 arr2에서 대칭이 아니기 때문에 드문 경우지만 allclose(arr1, arr2)는 allclose(arr2 , arr1).

구문: numpy.allclose< /a> (arr1, arr2, rtol, atol, equal_nan = False)

매개변수:
arr1: [array_like] 첫 번째 배열 입력 .
arr2: [array_like] 두 번째 배열을 입력합니다.
rtol: [float] 상대 허용 오차 매개변수입니다.
atol: [float] 절대 허용 오차 매개변수.
equal_nan: [bool] NaN을 동일한 것으로 비교할지 여부. True인 경우 arr1의 NaN은 출력 배열의 arr2에 있는 NaN과 동일한 것으로 간주됩니다.

반환: [bool] 두 배열이 지정된 허용 오차 내에서 같으면 True를 반환합니다. , 그렇지 않으면 False를 반환합니다.

코드 # 1:


# Python 프로그램, 설명
#
allclose () 함수


가져오기 괴짜로 numpy


# 입력 배열

< 코드 클래스 = "일반"> in_arr1 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> geek.array ([ <코드 클래스 = "값"> 5e5 <코드 클래스 = "일반">, <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값 "> 7 <코드 클래스 = "p lain ">, 4.000004e6 ])

인쇄 ( "첫 번째 입력 배열:" , in_arr1)


<코드 클래스 = "일반"> in_arr2 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> geek.array( [ <코드 클래스 = "값"> 5.00001e5 <코드 클래스 = "일반">, <코드 클래스 = "값"> 1e <코드 클래스 = " 키워드"> - <코드 클래스 = "값"> 7 <코드 클래스 = "일반">, <코드 클래스 = "값"> 4e6 <코드 클래스 = "일반">])

<코드 클래스 = "함수"> 인쇄 <코드 클래스 = "일반"> ( <코드 클래스 = "문자열 "> "두 번째 입력 배열:" , in_arr2)


# 절대 및 상대 설정 공차

rtol = <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 05

<코드 클래스 = "일반"> atol <코드 클래스 = "키워드"> = <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 08


<코드 클래스 = "일반"> res <코드 클래스 = "키워드"> = < 코드 클래스 = "plain"> 괴짜.allclose (in_arr1, in_arr2, rtol, atol)

print ( " 두 배열은 허용 오차: " , res)

종료:

첫 번째 입력 배열: [5.00000000e + 05 1.00000000e-07 4.00000400e + 06] 두 번째 입력 배열: [5.00001000e + 05 1.00000000e-07 4.000000 내에서 True tolerance 배열 2개 

코드 # 2:


# 파이썬 프로그램 설명
# allclose () 함수


가져오기 괴짜로 numpy


# 입력 배열

in_arr1 = <코드 클래스 = "일반"> geek.array ([ <코드 클래스 = "값"> 5e5 <코드 클래스 = "일반">, <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값" > 7 <코드 클래스 = "일반">, <코드 클래스 = "값"> 4.000004e6 <코드 클래스 = "일반">])

<코드 클래스 = "functions"> 인쇄 ( "첫 번째 입력 배열:" , in_arr1)


<코드 클래스 = "일반"> in_arr2 <코드 클래스 = "키워드"> = < 코드 클래스 = "일반"> geek.array ([ <코드 클래스 = "값"> 5.00001e5 <코드 클래스 = "일반">, <코드 클래스 = "값" > 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 7 <코드 클래스 = "일반">, <코드 클래스 = " 값 "> 4e6 <코드 클래스 ="일반 ">])

인쇄 <코드 클래스 ="일반 "> ( "두 번째 입력 배열:" , in_arr2)


# 절대 및 상대 허용 오차 설정

rtol < 코드 클래스 = "키워드"> = <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 06

<코드 클래스 = "일반"> atol <코드 클래스 = "키워드"> = <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 09


<코드 c lass = "plain"> res = 괴짜.allclose (in_arr1, in_arr2, rtol, atol)

인쇄 ( " 허용 오차 내에서 두 배열이 동일합니까: " , res)

종료:

첫 번째 입력 배열: [5000000.0, 1e-07, 40000004.0] 두 번째 입력 배열: [5000001.0, 1e-07, 40000000.0] 두 배열이 허용 오차 내에서 동일한가요? True 

코드 # 3:

# 파이썬 프로그램 설명
# allclose () 함수


가져오기 <코드 클래스 = "일반"> nu 괴짜로 mpy


# 입력 배열

i n_arr1 = geek.array ([ 5e5 , <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 7 <코드 class = "plain">, geek.nan])

인쇄 ( "첫 번째 입력 배열:" , in_arr1)


in_arr2 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> geek.array ([ <코드 클래스 = "값"> 5e5 <코드 클래스 = "일반">, <코드 클래스 = "값"> 1e <코드 클래스 = "키워드" > - <코드 클래스 = "값"> 7 , geek.nan])

인쇄 ( " 두 번째 입력 배열: " , in_arr2)


# 절대 및 상대 허용오차 설정

rtol = <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 06

<코드 클래스 = "일반"> atol <코드 클래스 = "키워드"> = <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값 "> 09

해상도 = 괴짜.모두 닫기 (in_arr1, in_arr2, rtol, atol)

인쇄 ( "허용 오차 내에서 두 배열이 동일한가요?" , res)

종료:

첫 번째 입력 배열: [500000.0, 1e-07, nan] 두 번째 입력 배열: [500000.0, 1e-07, nan] 허용 오차 내에서 두 배열이 동일한지: False 

코드 # 4:


# Python 프로그램 설명
# allclose () 함수


가져오기 numpy as geek


# 입력 배열

< 코드 클래스 = "일반"> in_arr1 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> geek.array ([ <코드 클래스 = "값"> 5e5 <코드 클래스="일반">, <코드 클래스 ="값 "> 1e <코드 클래스 ="키워드 "> - <코드 클래스 ="값 "> 7 <코드 클래스 = "일반">, geek.nan])

<코드 클래스 = "함수"> 인쇄 <코드 클래스 = " 피 lain"> ( "첫 번째 입력 배열:" , in_arr1)


<코드 클래스 = "일반"> in_arr2 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> geek.array([ <코드 클래스 = "값 "> 5e5 <코드 클래스 = "일반">, <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 7 <코드 클래스 = "일반" >, geek.nan])

인쇄 <코드 클래스 = "plain"> ( " 두 번째 입력 배열: " , in_arr2)


# 절대 허용 오차 및 상대 허용 오차 설정

rtol <코드 클래스 = "키워드"> = <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값 "> 06

<코드 클래스 = "일반"> atol <코드 클래스 = "키워드"> = <코드 클래스 = "값"> 1e <코드 클래스 = "키워드"> - <코드 클래스 = "값"> 09


res = geek.all 닫기(in_arr1, in_arr2, rtol, atol ,

equal_nan = )


인쇄 ( " 허용 오차 내에서 두 배열이 동일한가요? " , res)

출력 :

첫 번째 입력 배열: [500000.0, 1e-07, nan] 두 번째 입력 배열: [ 500000.0, 1e-07, nan] 허용 오차 내에서 두 배열이 동일한가요? True