pbj0812의 코딩 일기

[PYTHON] 파동의 개수 구하기 본문

ComputerLanguage_Program/PYTHON

[PYTHON] 파동의 개수 구하기

pbj0812 2020. 10. 7. 01:02

0. 목표

 - 파동의 개수 구하기

1. 실습

 1) library 호출

import numpy as np
import matplotlib.pyplot as plt

 2) 데이터 생성

  - x : 0 ~ 50pi를 1000등분

  - y : sin(x)

x = np.linspace(0, 50*np.pi, 1000)
y = np.sin(x)

 3) 그림

fig = plt.figure()
fig.set_size_inches(15, 5)
plt.plot(x, y)

 4) 함수 생성

  (1) 더미 리스트를 만들어 전체 평균보다 해당 값이 크면 0, 작으면 1을 채워넣음(0, 1)

  (2) 결과 리스트를 만들어 더미 리스트에서 현재 위치의 값과 뒤의 위치의 값의 합을 채워넣음(0, 1, 2)

  (3) 결과 리스트의 값이 1인 위치인 점은 현재 위치에서 평균보다 크고 뒤의 위치에서 평균보다 작거나 현재 위치에서 평균보다 작고 뒤의 위치에서 평균보다 큰 경우

  (4) 결과 리스트에서 1의 개수를 세고 반으로 쪼개 파동의 개수를 구함

# inp : y 값
def cnt(inp):
    inp_mean = np.mean(inp)
    # 1
    tmp_list = []
    for i in inp:
        if i >inp_mean:
            tmp_list.append(0)
        else:
            tmp_list.append(1)
    # 2
    result_list = []
    for j in range(len(tmp_list) - 1):
        result_list.append(tmp_list[j] + tmp_list[j+1])
    result = int(result_list.count(1) / 2)
    return result

2. 결과

  - 25

print(cnt(y))
Comments