편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.03.08

    파이썬 matplotlib 로 정규분포 여러개 한꺼번에 그리는방법


    파이썬으로 다음과 같은 함수식을 만들어 그래프를 그렸습니다.

    import numpy as np
    
    import matplotlib.pyplot as plt
    
    x = np.arange(0, 10.1, 0.2)
    
    a = np.zeros(100*51)
    
    def f(x):
    
      y = np.exp(-0.5*x)*np.sin(x)+np.random.normal(1,0.005,51)
    
      return y
    
    print(f(x))
    # ->[0.99605648 1.16898336, ..., 0.9965857  0.99681586]
    
    line = plt.plot(x,f(x))
    
    plt.setp(line, color='r', linewidth=0.2)
    
    plt.show()
    

    이미지

    기존의 함수에 정규분포를 넣어 노이즈가 들어간 그래프를 만들었는데 이러한 것을 100개 만들고 싶습니다. 예를 들어서 평균은 그대로 두고 분산값만 0.0005 - 0.0015로 바꿔가면서 각 분산에 대한 그래프를 그려서 최종적으로 100개의 그림이 저 한장에 다 겹쳐서 나오게 하는 방법이 있을까요?

    for문을 이용하면 될 것 같긴 한데 잘 모르겠습니다.

  • 프로필 shnam님의 편집
    날짜2021.03.08

    파이썬 그림 여러개 그리는방법


    파이썬으로 다음과 같은 함수식을 만들어 그래프를 그렸습니다.

    import numpy as np

    import matplotlib.pyplot as plt

    x = np.arange(0, 10.1, 0.2)

    a = np.zeros(100*51)

    def f(x):

    y = np.exp(-0.5*x)*np.sin(x)+np.random.normal(1,0.005,51)

    return y

    print(f(x)) ->[0.99605648 1.16898336, ..., 0.9965857 0.99681586]

    line = plt.plot(x,f(x))

    plt.setp(line, color='r', linewidth=0.2)

    plt.show()

    이미지

    기존의 함수에 정규분포를 넣어 노이즈가 들어간 그래프를 만들었는데 이러한 것을 100개 만들고 싶습니다. 예를 들어서 평균은 그대로 두고 분산값만 0.0005 - 0.0015로 바꿔가면서 각 분산에 대한 그래프를 그려서 최종적으로 100개의 그림이 저 한장에 다 겹쳐서 나오게 하는 방법이 있을까요?

    for문을 이용하면 될 것 같긴 한데 잘 모르겠습니다.