옥타브 / 매트랩¶
옥타브는 매트랩과 호환되는 프리웨어이며, 아래의 웹페이지에서 다운로드 받을 수 있다.
$\quad$ 옥타브 웹페이지
윈도우즈 11 시스템에 설치한 옥타브 버전 8.2.0 (2023년) 의 GUI 모습으로, 매트랩과 흡사하다.
명령창에서 커서 다음에
$\quad >> \,\,$ 명령어
를 한 줄씩 입력하면, 결과를 바로 확인할 수 있는 스크립트 방식을 지원한다.
또한, GUI 아래의 에디터 탭을 클릭하여 에디터 창을 열어서 M 파일 (확장자 .m 파일)을 만들어 저장할 수 있다.
버전을 확인해 보면
version
ans = 8.2.0
퀵 가이드¶
계산기처럼 간편히 사용할 수 있다.
5^2
ans = 25
cos(pi)
ans = -1
fplot( ) 을 사용하여, 사인 함수를 그려보자.
fplot( 'sin(x)', [-pi,pi] )
Inline plot failed, consider trying another graphics toolkit
error: print: rendering with fltk toolkit requires visible figure (DISPLAY='')
error: called from
_make_figures>safe_print at line 125 column 7
_make_figures at line 49 column 13
주피터 노트북에서 에러가 발생하는데 ..
그래프 툴킷을 gnuplot 으로 한 번 설정해 준다.
graphics_toolkit ("gnuplot");
warning: using the gnuplot graphics toolkit is discouraged The gnuplot graphics toolkit is not actively maintained and has a number of limitations that are unlikely to be fixed. Communication with gnuplot uses a one-directional pipe and limited information is passed back to the Octave interpreter so most changes made interactively in the plot window will not be reflected in the graphics properties managed by Octave. For example, if the plot window is closed with a mouse click, Octave will not be notified and will not update its internal list of open figure windows. The qt toolkit is recommended instead.
다시 그려보면
fplot( 'sin(x)', [-pi,pi] )
다음 방정식의 수치해를 구한다.
$\qquad \quad e ^{-x} = x $
좌변과 우변의 함수를 그래프에 그려보자. 여러 개의 함수들을 같이 그리려면 [ ] 로 묶어준다.
fplot( '[ exp(-x), x ]', [-2,2] )
두 함수가 서로 교차하므로, 교점에서 해가 존재한다.
수치해를 구하기 위해서, 방정식의 우변이 $0$ 인 형태로 바꾼다.
$ f(x) \,=\, e ^{-x} - x \,=\, 0 $
$f(x)$를 함수핸들로 선언하고, fzero( ) 함수의 첫 번째 인자로 넣는다.
두 번째 인자에 해의 초기값을 넣어준다. (초기값으로 $0$ 을 사용함)
f = @(x) exp(-x) - x ;
fzero( f, 0 )
ans = 0.5671
다음 연립방정식을 푼다.
\begin{align*} \, x \, + 2y +3z &= 7\\ 3x- \, 2y+ z &= 5\\ 2x- \, 3y+z &= 2 \end{align*}A = [1 2 3; 3 -2 1; 2 -3 1]
A = 1 2 3 3 -2 1 2 -3 1
B = [7; 5; 2]
B = 7 5 2
가우스 소거법으로 해를 구한다. $\qquad$ ※ 백슬래쉬 $\, \backslash $ 를 사용한다.
X = A \ B
X = 2 1 1
updated 2023.7
댓글 없음:
댓글 쓰기