다음 연립 미분방정식과 초기조건 x(0) = 1, y(0) = 2 를 만족하는 두 함수 x = x(t), y = y(t) 의 그래프를 그려보자.
dx/dt = r*x*(1 -x/k) -a*x*y/(1 + b*x)
dy/dt = c*a*x*y/(1 + b*x) - d*y
단, 여기서 r = 0.25
k = 1.4
a = 1.5
b = 0.16
c = 0.9
이다.
즉,
dx/dt = 0.25*x*(1 -x/1.4) - 1.5*x*y/(1 + 0.16*x)
dy/dt = 3*1.5*x*y/(1 + 0.16*x) - 0.8*y
[Octave 소스파일: f.m]--------------------------------
function xdot = f (x, t)
r = 0.25;
k = 1.4;
a = 1.5;
b = 0.16;
c = 0.9;
d = 0.8;
xdot(1) = r*x(1)*(1 - x(1)/k) - a*x(1)*x(2)/(1 + b*x(1));
xdot(2) = c*a*x(1)*x(2)/(1 + b*x(1)) - d*x(2);
endfunction
graphics_toolkit gnuplot
x0 = [1; 2];
t = linspace (0, 50, 200)';
x = lsode ("f", x0, t);
plot (t, x)
--------------------------------------------------------------
'프로그래밍 > Octave' 카테고리의 다른 글
Octave 로 계산 하는 집합 연산 몇 가지 (0) | 2014.01.27 |
---|---|
Cygwin 의 Octave 로 그린 평면 매개곡선을 jpg 파일로 저장하기 (0) | 2014.01.27 |
Octave 를 이용하여 간단한 그래프 그리기 (0) | 2014.01.26 |
이진 파일을 읽어서 16진수로 보여주는 HexView 소스 with Octave (0) | 2013.08.18 |
Octave 언어로 역삼각함수, 역쌍곡선함수 값을 구하는 예제 (0) | 2013.01.08 |