Coding/Python Matlab

파이썬 - SciPy, NumPy

smores 2012. 2. 23. 23:12
파이썬 확장기능들 찾다보니 과학기술 계산용 확장라이브러리가 있음을 알게 됨. Numpy + Scipy + Matplotlib...

윈도우판은 인스톨도 무척 쉽다. 그냥 맞는 버전의 것 다운로드해서 실행파일 실행하면 끝... (현재 Python 2.7 사용중)

간단한 예제 따라해 보니 Matlab 부럽지 않다. 게다가 Matlab과 달리 모두 공짜 (아~ 앞머리가 벗겨지기 시작하는 듯한 기분이...)

from scipy import optimize, special
from numpy import *
from pylab import *

x = arange(0,10,0.01)

for k in arange(0.5,5.5):
     y = special.jv(k,x)
     plot(x,y)
     f = lambda x: -special.jv(k,x)
     x_max = optimize.fminbound(f,0,6)
     plot([x_max], [special.jv(k,x_max)],'ro')

title('different bessel functions and their local maxima')
show()



조금 더 찾아보니 여러 과학기술 패키지 별 성능비교도 있다.

 http://www.scipy.org/PerformancePython#head-fcbd791fae3a9208d7ffb5a59fd4891ab036d017 



역시 C/C++는 속도에 있어서는 항상 최상... 사용자 편의를 생각하면 역시 전문 패키지나 Python이 나을듯... Python + Scipy + Numpy의 경우 Matlab보다 훨씬 빠르다는 보고도 본 것 같은데 이 사이트에서는 비슷한 성능을 보여줌. 물론 시뮬레이션 종류에 따라 다를테니 결과가 다를수 있겠지만 이정도면 무척 만족스럽다. 그간 Matlab은 거의 수박 겉핧기 식으로만 공부해서 필요할 경우 조금씩 써먹고 있었는데, 내가 사용하는 정도의 응용 사례라면 이제는 파이썬으로 완전히 넘어가도 될 듯... 

또 다른 비교 사이트 발견. NASA modeling group인듯... 따라서 꽤 의미가 있다. 여전히 Python + Numpy 쓸만하다는 결론...

https://modelingguru.nasa.gov/docs/DOC-1762 


 

'Coding > Python Matlab' 카테고리의 다른 글

파이썬 - 웹 링크 다운로드 (버퍼)  (0) 2012.03.13
파이썬 - multi-column data array (list) sorting  (0) 2012.02.24
파이썬 - 만화 다운로드  (0) 2012.02.14
파이썬 - wxPython  (0) 2012.01.29
파이썬 - lambda  (0) 2012.01.27