파이썬(Python)/numpy

[Python] 로그 그래프 그리기, numpy log1p, log, log10 함수 비교

끄적끄적아무거나 2023. 2. 13. 18:36
반응형

 

목차

     

     

     

     

    파이썬 numpy log1p vs log  vs log10 함수 차이

    사실 이부분은 코드와 결과를 수식으로 보여주면 정말 쉽게 이해가 됩니다.

     

    하나씩 예제 코드와 함께 수식으로 정리하겠습니다. 전체 코드는 글 하단에서 다운 받을 수 있습니다.

     

     

    예제 코드1>>

    import numpy as np
    
    x = np.exp(3)
    y= np.log(x)
    
    print(y)

     

     

    결과>>

    3.0

     

     

    주석>>

     

    위 수식은 x에 e 지수 값을 넣고 y는 ln으로 출력을 받습니다. 그래서 e^3이므로 y는 3이 출력 됩니다.

     

     

     

     

     

     

     

     

    예제 코드2>>

    import numpy as np
    
    x = np.exp(3)
    y= np.log1p(x)
    
    print(y)

     

    결과>>

    3.048587351573742

     

     

     

    주석>>

     

    log1p 함수는 입력값에 1을 추가로 더한 함수 입니다. 그 외에는 특별한 의미가 없습니다.

     

     

     

     

     

     

     

     

     

     

    예제 코드3>>

    import numpy as np
    
    x = 10**3
    y= np.log10(x)
    
    print(y)

     

    결과>>

    3.0

     

     

    주석>>

     

    앞서 엡실론 지수가 아닌 10의 지수로 계산되었습니다.

     

     

     

     

     

     

     

    파이썬 로그 함수 그래프(Graph) 그리기

     

    그래프는 matplotlib 라이브러리로 그립니다. 상세 사용법은 블로그에 matplotlib 사용법에 나와 있으니 참조하시면 됩니다. 이번 포스트는 해당 예제에 대한 코드 설명만을 넣도록 하겠습니다. 

     

    예제 코드>>

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(-0.2,2,10000)
    y = np.log(x)
    
    #그래프 설정
    fig = plt.figure()
    
    plt.plot(x,y, 'b-')
    plt.title('Log Graph', color='b')
    
    plt.xlabel('X')
    plt.ylabel('ln(x)')
    
    plt.grid()
    
    plt.axhline(y=0, color='k')
    plt.axvline(x=0, color='k')
    
    plt.show()

     

     

    결과>>

     

     

     

    코드 주석>>

    x = np.linspace(-0.2,2,10000)
    y = np.log(x)

    x 값을 -0.2에서 2까지 총 10000개의 포인트로 만들고 이 값을 ln(x) 함수에 넣어 줍니다.

     

     

    #그래프 설정
    fig = plt.figure()
    
    plt.plot(x,y, 'b-')
    plt.title('Log Graph', color='b')
    
    plt.xlabel('X')
    plt.ylabel('ln(x)')
    
    plt.grid()
    
    plt.axhline(y=0, color='k')
    plt.axvline(x=0, color='k')

    그래프의 주석과 이름, 색생을 설정 합니다.

     

     

    전체 코드 다운로드>>

    log_graph.py
    0.00MB

    반응형