반응형

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://freewriting2024.tistory.com


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

+ Recent posts