파이썬의 수학함수를 이용하기 위해서는 math 모듈을 import해야 한다. 기본 (표준) 모듈이므로 설치 과정 없이 다음과 같이 로드할 수 있다.


-------------------------------------------------------------------

             >>> import math

-------------------------------------------------------------------


이 모듈의 수학 함수는 표준 C언어의 그것들을 구현한 것이다. 실수 연산을 수행하며 대부분의 경우 float형을 반환한다.


 복소수 연산을 위해서는 cmath 모듈을 이용해야 한다. 이것도 역시 기본 모듈이므로 별도 설치 없이 다음과 같이 로드할 수 있다.


-------------------------------------------------------------------

             >>> import cmath

-------------------------------------------------------------------

이 모듈에는 복소수 연산을 위한 다양한 함수들이 있는데 여기에 잘 정리되어 있다.

 하지만 math 모듈은 인수가 실수 (스칼라) 에 대해서만 적용이 되고 cmath 는 복소수 (스칼라) 인 경우에만 적용이 된다는 단점이 있다. 만약 행렬 연산이 필요하다면 이 두 모듈은 사용할 수 없으며 numpy 를 사용해야 한다. 이 모듈은 파이썬의 고급 연산 분야의 기본 모듈로서 벡터 혹은 행렬에 대한 요소간 연산을 지원하므로 가장 적용 범위가 넓다. 또한 python(x,y) 나 winPython 같은 패키지를 사용하면 쉽게 인스톨 없이 바로 import 하여 사용할 수 있다.

winPyhon : 과학 계산용 파이썬 패키지

[#00107]


Posted by 살레시오
,

 파이랩(pylab)은 파이썬을 마치 MATLAB처럼 사용할 수 있도록 하는 목표를 가지고 개발되고 있는 모듈로서 내부적으로 numpy, scipy, 그리고 그래픽을 생성하기 위한 matplotlib 라는 모듈을 사용한다. 이 모듈은 matlab 사용자들을 python 쪽으로 옮겨오는데 편의를 주기 위해서 개발되기 시작한 것 같고 한 때 사용의 편의성 때문에 많이 사용되었던 것 같다. 특히 그래픽을 생성하는 기능은 MATLAB과 매우 흡사한데 이는 matplotlib 의 함수들은 MATLAB문법에 맞게 wrapping 해서 제공하기 때문이다.


 하지만 파이썬 커뮤니티 내부에서는 pylab은 몇 가지 이유로 사용하기를 권장지 않는 듯 하다. 가장 큰 이유는 그 안에서 사용되는 파이썬 모듈 간 구분이 잘 이루어 지지 않아 혼동을 준다는 것이다. 아래 포스트에 자세한 이유가 소개되어 있다.


 please stop using python


현재 pylab에 대한 자료가 별로 많지 않고 2013년 이후로 업데이트도 없다. 단지 하위 호환성을 일정 기간 유지하기 위해서 관련 내용을 완전히 삭제하고 있지는 않은 것 같다. 특히 수치 해석시 많이 사용되는 파이썬쉘인 ipython 을 사용할 때에는 더더욱 권장되지 않는다.




Posted by 살레시오
,

  winPython의 python 콘솔을 실행하면 pylab 이 기본적으로 import 되어서 함수들을 엄격하게 구분해서 사용하는 것이 무척 불편하다. pylab 을 사용하는 것은 파이썬 커뮤니티 안에서 권하지 않는다.


 파이썬 콘솔에서 백그라운드로 임포트되는 모듈들은 다음과 같이 'scientific'이라는 명령을 입력하면 상세한 내용을 확인할 수 있다.

-----------------------------------------------------------------------

>>> scientific


This is a standard Python interpreter with preloaded tools for scientific

computing and visualization. It tries to import the following modules:


>>> import numpy as np  # NumPy (multidimensional arrays, linear algebra, ...)

>>> import scipy as sp  # SciPy (signal and image processing library)

>>> import matplotlib as mpl         # Matplotlib (2D/3D plotting library)

>>> import matplotlib.pyplot as plt  # Matplotlib's pyplot: MATLAB-like syntax

>>> from pylab import *              # Matplotlib's pylab interface

>>> ion()                            # Turned on Matplotlib's interactive mode

>>> import guidata  # GUI generation for easy dataset editing and display


>>> import guiqwt                 # Efficient 2D data-plotting features

>>> import guiqwt.pyplot as plt_  # guiqwt's pyplot: MATLAB-like syntax

>>> plt_.ion()                    # Turned on guiqwt's interactive mode


Within Spyder, this interpreter also provides:

   * special commands (e.g. %ls, %pwd, %clear)

   * system commands, i.e. all commands starting with '!' are subprocessed

     (e.g. !dir on Windows or !ls on Linux, and so on)

-----------------------------------------------------------------------

 파이썬 콘솔 기동시에 pylab을 import 하지 않으려면 다음과 같은 과정을 거쳐야 한다. 먼저 Tools > Preferences 의 Console 탭에서 Advanced settings 항목으로 들어간다.

여기서 Default PYTHONSTARTUP scrip 를 선택하면 파이썬의 기본적인 세팅으로 기동하는 것이다. 아예 아무런 모듈도 import하지 않고 시작하려면 이것을 체크하면 된다.


 과학계산 모듈을 초기에 import 하는 일은 scientific_startup.py 에 기록되어 있는데 아래 그림과 같이 pylab을 로딩하는 부분을 주석 처리하면 pylab 이 import 되는 것을 막을 수 있다.


추가적으로


              %ls (파일리스트)

              %pwd (현재 디렉토리)

              %clear


등의 명령이 사용가능함을 알 수 있다.

Posted by 살레시오
,