수학 소프트웨어, 수학 공부의 친구?

작성자
GoodKook
작성일
2017-11-16 16:28
조회
2413
수학 소프트웨어, 수학 공부의 친구?



"물리의 정석"

%25EB%25AC%25BC%25EB%25A6%25AC%25EC%259D

물리학자 레너드 서스킨트(워낙 저명하신 분이니 설명은 생략. 궁금하다면 클릭)의 대중을 상대로한 물리학 강연을 책으로 담은 "The Theoretical Minimum"을 이종필 교수님이 번역한 책으로, <과학과 사람들>의 야심찬 공부 프로젝트 "어른의 수학"강좌의 교재로 사용된다고 합니다. 이 강좌는 역자 직강으로 개설 됩니다.


서스킨트의 강의집은 원서로는 3편이 나왔다고 합니다. 양자역학, 특수 상대론과 고전 장이론, 두편이 더 있길래 모두 구입. 공부보다 폼 잡는게 취미라 일단 책부터 사놓고 보는거죠.




books.jpg




오십을 넘어가니 머리가 퇴보하는 느낌이라 수학공부라도 해야 겠다고 마음 먹고 있던 차에 이런 강좌가 열린다니 너무나 기뻣습니다. 아직 직장에 메인 몸이라 멀리 떨어진 강의실까지 찾아갈 형편이 안되서 수강은 못하고 교과서만 구입해서 봤습니다(초판이라 그런지 오타가 발견되고 있음, 번역서 89쪽, 적분공식 중). 이 책에서는, 재미있는 것이 문제를 풀 때, 때로는 수학 소프트웨어를 사용하라고 합니다. 생소한 지수함수, 로그함수, 삼각함수 따위의 수학을 그림으로 그려보면 이해하는데 큰 도움이 됩니다. 자습할 때 이런 소프트웨어를 가지고 노는 것 만으로도 수학에 흥미를 불러 일으킬 수 도 있습니다. 수학공부에 도움이 될 수도 있는 소프트웨어 몇가지를 추천해 봅니다.




피씨 윈도우즈 수학 소프트웨어,





책에 소개된 소프트웨어는 "매스메티카(Mathematica)"인데 비싼 상용 입니다. 물론 기능도 강력하고 저렴한 학생판도 있습니다만 어쨌든 무료는 아닙니다. 이를 대체할 만한 수학 소프트웨어로 마이크로소프트의 매스메틱스(Microsoft Mathematics 4.0)가 있습니다. 함수 정의나 프로그램 기능이 없어 다소 아쉽긴 하지만 사용이 직관적이고 미적분, 부정적분도 어지간히 풀어 냅니다.





Microsoft Mathematics 4.0




안드로이드 수학 앱,


스마트 폰 앱으로 나온 수학 계산기도 여러개가 있지만 MathLab Apps(MatLab 아님) 의 Graphing Calculator가 아주 좋더군요. 함수정의가 가능하고 사용자 인터페이스도 직관 적입니다. 그래프 그리는 기능도 상당히 괜찮습니다. 프로그래밍 기능은 없고, 부정적분 기능도 없는 것이 좀 아쉽긴 합니다.


Mathlab Apps' Graphing Calculator
https://play.google.com/store/apps/details?id=us.mathlab.android


TI의 전자 계산기,


텍사스 인스트루먼트의 nSpire라는 전자 계산기가 있습니다. 대수가 가능한 버젼으로 TI-nSpire CX CAS 인데 상당히 좋죠. 큼지막한 게임기 같이 생겨서 가지고 노는 맛도 있습니다. 기기와 별도로 컴퓨터용 소프트웨어도 함께 제공된다는 점이 매력적이죠. 일종의 에뮬레이터인데 계산기와 똑같습니다. 계산기(하드웨어)를 사면 이 소프트웨어의 라이센스 키가 동봉 되어 있습니다. 30일 무료 사용도 가능하죠.


TI-nSpire CX CAS Student Software 
https://education.ti.com/en/software/details/en/B4F6E4EE05B94D75AAB4DFE24B2720AE/ti-nspirecxcas_pc_trial


자체 프로그램 기능이 내장되어 있어서 사용자 정의 함수를 만들 수 있습니다. 일반적이지 않은 퓨리어 트랜스폼, 코사인 트랜스폼 같은 사용자 정의 함수들을 작성해 넣을 수 있습니다. 완벽한 소형 컴퓨터 입니다. 단지 화면이 매우 작다는게 흠 입니다. 화면 해상도가 겨우 320x240의 아쉬운 화면,






11-16-2017%2BImage001.jpg



아래 그림은 동일한 함수를 매스매틱스(Mathematics)로 그려본 겁니다. 역시 PC의 그래픽은 훌륭 하네요! 그래프 그린 함수를 보면 엄청 난 값(e의 x제곱의 19제곱)을 두 소프트웨어 모두 잘 처리하고 있다.




graph_MSM_1.png



TI-nSpire의 수학기능은 막강 합니다. 특히 부정적분이 돋보입니다.




Un_Integral_1.png



이정도 부정적분 쯤이야 무료 소프트웨어도 잘 합니다. 조금 복잡한 걸 해봤더니, MS Mathematics에서는 못하는 적분도 해냅니다. 최종 정리 까지는 이쁘진 않지만 그래도 해낸다는게 신통하죠.




Un_Integral_2.png



TI-nSpire의 큰 장점은 자체 언어(BASIC수준의 직관적)를 가지고 있어서 프로그래밍이 가능 하다는 겁니다. 역시 화면 크기가 아쉽군요.




11-16-2017%2BImage002.jpg



작은 화면과 코딱지만한 키보드로 코딩 할 수는 없고,




images.jpg



PC 메모장에서 작성하고 스튜던트 소프트웨어로 컨트롤-씨, 컨트롤-브이가 되죠. 물론, 나중에 계산기로 전송도 가능하고,




images%2B%25281%2529.jpg



영상처리에 자주 등장하는 정수형 8-point DCT(8점 디스크리트 코사인 트랜스폼)을 TI-nSpire에 구현해 넣어 봤습니다. 프로그램 소스 코드를 봐서 알겠지만 2차원 배열, IF문, For 반복문도 됩니다. 제대로된 프로그래밍 언어 맞습니다.


Define dct_1d(src)=
Func
:Local dst,tmp,n,k
:Local coeff
:coeff:=[ [8192,8192,8192,8192,8192,8192,8192,8192]
           [11363,9633,6436,2260,−2260,−6436,−9632,−11362]
           [10703,4433,−4433,−10703,−10703,−4433,4433,10703]
           [9633,−2260,−11362,−6436,6436,11363,2260,−9632]
           [8192,−8192,−8192,8192,8192,−8191,−8191,8192]
           [6436,−11362,2260,9633,−9632,−2260,11363,−6436]
           [4433,−10703,10703,−4433,−4433,10703,−10703,4433]
           [2260,−6436,9633,−11362,11363,−9632,6436,−2260]
]
:
:  For k,1,8,1
:    tmp:=0
:    For n,1,8,1
:      tmp:=tmp+src[n]*coeff[k,n]
:    EndFor
:    dst[k]:=((tmp)/(2^(13)))
:  EndFor
:  Return dst
:EndFunc


작성된 함수는 입력(배열)을 정의하고 호출하면 즉시 결과를 보여주죠.




11-16-2017%2BImage003.jpg



그래프로 사용자 함수를 그릴 수도 있습니다.




11-16-2017%2BImage005.jpg



심지어, nSpire의 그래픽 운영체제 리소스를 활용 할 수도 있습니다. 키보드 입력, 택스트 출력, 다이얼로그 박스를 쓸 수도 있습니다.


Define guess_a_number()=

Prgm

:

:  n:=randint(1,99)

:  Local Attempts

:  Attempts:=0

:  Text "Guess an integer between 0 and 100"

:  Lbl begin

:  Request "Guess?", number

:  attempts:=attempts+1

:  If number>n Then

:    Disp "too high, try again"

:    Goto begin

:  ElseIf number<n Then

:    Disp "too low, try again"

:    Goto begin

:  Else

:    Disp "You guessed it!"

:    Disp "It took you", attempts, "tries"

:  EndIf

:


:EndPrgm


결론,


수학공부에 도움이 될 수도 있는 소프트웨어 몇가지를 살펴 봤습니다. 전자 계산기(수학 소프트웨어)의 사용은 산수공부의 적이지 수학공부의 적은 아닙니다. 이 세상의 모든 독이 그렇듯이 잘쓰면 아주 좋은 약이 됩니다. PC에 컴퓨터에 Mathematics 4.0, TI-nSpire Student Software, 스마트 폰에 Graphing Calculator 를 설치해 두고 가끔씩 이리저리 누르다보면 수학이랑 조금더 가까와 질 수도 있을 겁니다. 이참에 수포자 탈출을 넘어 수학 덕후가 되어보는 것도 좋겠죠.

<과학과 사람들>
http://sciencepeople.co.kr/
"어른의 수학"
http://sciencepeople.co.kr/%EC%96%B4%EB%A5%B8%EC%9D%98-%EC%88%98%ED%95%99/
-----------------------------------------------------
[참고]
1. The Theoretical Minimum
http://theoreticalminimum.com/

서스킨트 강의 사이트

2. TI-nSpire 에뮬레이터
Firebirs nSpire Emulator
https://github.com/nspire-emus/firebird/wiki


TI-nSpire를 구입하려면 비용이 좀 들죠. 무료 에뮬레이터도 있습니다.


3. Mathematical Handbook
https://archive.org/details/MathematicalHandbookOfFormulasAndTables

수학/물리에 자주 등장하는 각종 공식, 상수들, 표 등이 정리되어 있는 핸드북 다운 핸드북




전체 1

  • 2017-11-17 09:56

    iOS에는 http://tydligapp.com 도 좋습니다.