파이썬 배열 숫자 입력에 따른 출력 차이문제

조회수 1747회

import numpy as np

def fn_2(x): return x[0]2 + x12

def nu_g(f,x): h = 1e-4 grad = np.zeros_like(x)

for idx in range(x.size):
    tmp_val = x[idx]

    x[idx] = tmp_val + h
    fxh1 = f(x)

    x[idx] = tmp_val - h
    fxh2 = f(x)

    grad[idx] = (fxh1 - fxh2) / (2*h)
    x[idx] = tmp_val

return grad

현재 파이썬으로 이런 함수를 만들고(gradient를 구하는 함수입니다)

입력으로 아래의 두 문구를 넣었을때 아웃풋 값이 확연이 다릅니다. 차이라면 배열 입력인자가 소수점을 포함한것과 아닌것의 차이인데 말이지요

이미지

소수점을 찍으면 float형으로 되는걸로 아는데 단순히 배열의 기본형에서 float형이 된다고 결과값의 차이가 확연이 나는것이 이해가 잘 안됩니다

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)