파이썬(Python)/matplotlib

[Python] 지수 함수, 댐핑 사인 그래프 그리기(matplotlib, exponential, Damped Sine)

끄적끄적아무거나 2022. 10. 24. 10:47
반응형

 

목차

     

     

     

     

     

     

    파이썬 지수 함수 그래프 그리기(matplotlib, Exponential Function Graph)

     

    이번에는 지수 함수(Exponential function)을 파이썬(Python) Matplotlib 라이브러리와 numpy 라이브러리를 사용해서 그리는 방법에 대해 알아보겠습니다. 

     

    코드는 단순하기 때문에 아래 예제를 통해 쉽게 알아보겠습니다.

     

    예제 코드>>

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

    4번 라인: x축 값을 -0.2~2까지 총 10000개 포인트로 찍습니다. 포인트가 작으면 지수그래프가 잘나오지 않기 때문에 많은 포인트를 사용하는 것이 좋습니다. 

    5번 라인: 지수 함수를 정의 합니다. 함수에 x 값을 넣어 y 값을 출력 합니다.

     

    결과>>

    x축이 0일 때 y는 1을 찍고 x값이 커질 수 록 y 값은 0으로 수렴 합니다. 

     

     

     

     

     

     

     

    파이썬 댐핑 사인 함수 그래프 그리기(matplotlib, Damped Sine Graph)

    스프링에 힘을 주고 이상적인 공간에서는 스프링은 끊임없이 움직입니다. 하지만 현실은 공기의 마찰과 같은 댐퍼(Damper) 동작하는 물질이 존재 합니다. 그러므로 스프링의 사인파형(Sine Wave) 움직임도 결국에는 지수적으로 줄어들게 됩니다.

     

    이번 파이썬 코드는 사인파에 지수 댐핑을 넣어서 따르게 줄어드는 그래프를 그려 보겠습니다.

     

    코드는 앞서 작성한 코드와 동일하고 5번 라인의 함수 식만 변경 해줍니다.

     

    예제 코드>>

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(-0.2,2,10000)
    y = (np.cos(20*x))*np.exp(-3*x)
    
    #그래프 설정
    fig = plt.figure()
    
    plt.plot(x,y, 'b-')
    plt.title('Sine Wave', color='b')
    
    plt.xlabel('X')
    plt.ylabel('Sin(x)')
    
    plt.grid()
    
    plt.axhline(y=0, color='k')
    plt.axvline(x=0, color='k')
    
    plt.show()

     

     

    결과>>

    사인파형이 빠르게 줄어드는 것을 확인할 수 있습니다.

    반응형