2014년 3월 23일 일요일

python sympy 심볼릭 연산 (기호 연산)


 matlab의 symbolic math를 python에서 구현하는 패키지 입니다,

우분투에서는 sudo apt-get install python-sympy 로 설치가 되며,

symbolic 연산은

우리가 예전에 학교에서 보았던 , 방정식을 다루는 방법과 같습니다.

3*x^2 + 4*x + 7 = 0 과 같은 방정식을 입력하고,

이의 해를 구하는 것이죠,


math.sqrt(8) 하면 결과는 2.8282... 일반적으로 이렇게 2*(2^(1/2))의 값이 나옵니다.

이것을 symbolic연산을 하면,

sympy.sqrt(8)

2*sqrt(2) 가 됩니다. 결과를 실제 리얼 숫자로 매핑시키는 것이 아니라,

symbolic으로 나타내는 것이죠,


이와 비슷한 패키지 중에 sage라는 프로젝트가 있습니다.

mathematics에 관련된 모든 open source package를  python 으로 모아놓은 것이죠,

둘이 성격이 비슷한 프로젝트긴하지만,

sympy는 symbolic연산에 좀더 포커싱을 했다는 점이 차이네요,

sage는 온갖 모든 library를 모아놓아서, 특히하게도 , windows에선 지원이 안됩니다.

사용할려면 VM으로 접근을 해야되지요.



2014년 3월 22일 토요일

Python zip 함수 사용법

Zip function

zip 함수는 보통 List여러개로  slice 할때 사용을 합니다.
보통 우리가 김밥을 말때, 여러가지 재료를 묶습니다.
그리고 김밥을 자르죠,, 이것과 개념이 비슷합니다.
여러가지 List를 김밥말듯이 말아버립니다.
그리고 iterator 등의 함수로 slice를 하는 것이죠,
간단한 예제를 보겠습니다.
a = [1,2,3,4,5]
b = ['a','b','c','d','e']

for x,y in zip (a,b):
  print x,y



이런식으로 김밥 슬라이스 자르듯이 자르게 됩니다.
zip 함수는 보다보면 사용할때가 은근 많습니다.
여럿의 리스트를 짝지어주는 역할인거죠,

2014년 3월 16일 일요일

우분투 화면 캡쳐 shutter


우분투에서 쓸만한 화면 capture 프로그램이 없나 찾아보다가

다음과 같은 프로그램을 찾았습니다.

sudo apt-get install shutter

사용방법은 간단합니다 .

화면의 화살표를 눌러서, 화면을 캡춰할 영역을 선택하면 됩니다.

여러가지 써봤는데 이게 가장 반응속도도 좋은것 같고

무리 없이 사용하기가 좋더군요,

바로 편집도 가능하고요,




QEMU 설치


QEMU

가상화 소프트웨어

Install

ubuntu 12.04 기준
code:
sudo apt-get install qemu


qemu은 ubuntu를 이용해서 설치를 합니다.

qemu는 가상화 시작하기 위해서는,

디스크 이미지가 하나 필요합니다.


qemu-img create ubuntu.img 10G

이런식으로 가상하드디스크를 하나 만듭니다.


그다음에 아래와 같은 식으로
미리 받아 둔 os이미지를 정해주면,  설치가 시작됩니다.

qemu -hda ubuntu.img -boot d -cdrom ./ubuntu-12.04-desktop-i386.iso

-hda옵션은 디스크이미지 파일을 지정해주는 것이고
-cdrom옵션은 iso로 이미지로 마치 odd로 hdd를 연결해서 사용하는 느낌으로 보면됩니다

현재의 컴퓨터성능은 많이 올라가서,
위와 같이 os를 그냥 설치해도 되지만,
성능이 못받쳐줄듯하면, 예전 linux이미지를 찾아서 깔면, 됩니다.

설치가 끝난후에 아래와 같은 명령어로 실행시키면

qemu -hda ubuntu.img

VM이 실행이 되게 됩니다.