Python/Numpy

[Numpy] 파이썬 넘파이 np.linspace 함수(구간 내에 숫자 채우기)

jimmy_AI 2021. 11. 30. 13:49
반응형

파이썬에서 넘파이 라이브러리를 사용하다보면 예를 들어, y = sin x 같은 그래프를 그리고 싶을 때에

x를 어떻게 지정해야하는지 궁금해지는 경우가 있습니다.

 

이런 경우 구간 내에 숫자를 균일한 간격으로 촘촘하게 채울 수 있는 np.linspace 함수에 대해서 간단한 설명을 해보도록 하겠습니다.

 

파이썬 np.linspace 함수 사용법

np.linspace 함수의 사용법은 간단합니다.

 

인자를 3개를 기본으로 넣어주면 되는데, 구간 시작점, 구간 끝점, 구간 내 숫자 개수 3가지를 순서대로 채워주시면 됩니다. 예를 들어 1과 2 사이를 숫자 100개(끝점 포함)로 채운 예시를 보도록 하겠습니다.

1과 2 사이에서 균일한 간격으로 숫자가 촘촘하게 채워진 것을 확인하실 수 있지요?

 

여기서 끝점을 포함하지 않고 싶으면 endpoint = False를 추가해주시면 되고,

retstep = True를 추가하시면 숫자 사이의 간격이 얼마인지에 대한 값을 같이 반환하게 됩니다. 예제를 간단히 보여드리겠습니다.

반응형

파이썬 np.linspace 간격에 따라 그래프 그려보기

간격이 촘촘할수록 그래프를 그리는 상황 등에서 실제 그래프 개형과 더 가까워진다는 장점이 있지만, 어레이 사이즈가 커져서 다루기 힘들어질 수 있다는 단점이 있습니다.

 

0 ~ 2pi 사이의 구간에 대해서 y = sin x의 그래프를 np.linspace의 간격을 조정해가며 그려보도록 하겠습니다.

간격 내의 숫자가 10개 일때는 그래프가 많이 찌그러져있지만, 30개 간격만 되도 어느 정도 개형이 드러나고, 100개 간격 정도가 된다면 실제 개형과 거의 일치하는 모습을 볼 수 있었습니다.

 

이상으로 np.linspace 함수에 대해서 간단한 예제를 다루어보았습니다.