반응형

1차원 곡선의 최소값과 최대값 위치를 찾아주는 예제입니다.

scipy에서 제공하는 argrelmin, argrelmax를 사용하여 구현했는데 정확한 위치를 잡아주지는 않습니다. 

실행 속도도 빠른 편이 아니네요. 

 

2021. 12. 1  최초작성

 

 

 

 

import numpy as np
from scipy.signal import argrelmin, argrelmax
from matplotlib import pyplot as plt


x = np.linspace(0, 20, 20)
y = np.cos(x)

local_min_xx = argrelmin(y)[0]
local_min_yy = np.array(y[local_min_xx])

local_max_xx = argrelmax(y)[0]
local_max_yy = np.array(y[local_max_xx])


fig, ax = plt.subplots()

ax.plot(x, y,'b')

for x,y in zip(local_min_xx, local_min_yy):
    ax.plot(x,y, 'go', alpha=0.7, ms=10) 

for x,y in zip(local_max_xx, local_max_yy):
    ax.plot(x,y, 'ro', alpha=0.7, ms=10) 

plt.show()

 

 

반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts