Octave 有內建一些函數專門用於解非線性的微分方程式,要讓 Octave 解這樣的微分方程式,首先必須定義此函數 f(x, t)
,定義方式很簡單,基本上就是直接輸入函數內容即可:
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
設定起始條件(initial condition):
x0 = [ 1; 2 ];
設定輸出的時間:
t = linspace (0, 50, 200)';
使用 Octave 解此微分方程式:
x = lsode ("f", x0, t);
lsode()
函數是 Livermore Solver for Ordinary Differential Equations 的縮寫。在 Octave 中最簡單的繪圖函數就是 plot() 函數,例如畫出 sin() 函數的圖形:
a = 1:0.1:8; figure(1); plot(a, sin(a))
畫出的圖形為
接續前一節的範例,要將微分方程式的解畫出來可以使用
figure(2); plot (t, x)
畫出的圖形為
若是在圖形介面之下,Octave 會開啟另一個繪圖視窗顯示圖形,若要將此顯示在螢幕上的圖形儲存至檔案中,可以使用 print
指令:
print "-S500,400" -dpng output.png
此指令會將目前顯示在螢幕上的圖形輸出成 500
乘 400
像素的 png 圖檔儲存至 output.png
檔案中。關於更進一步的繪圖功能可以參考繪圖。
在 Octave 中可以使用 Ctrl
+ p
鍵顯示上一個執行過的指令,Ctrl
+ n
顯示下一個指令,而 Ctrl
+ b
與 Ctrl
+ f
可以左右移動輸入游標進而鍵編輯指令內容,在大部分的系統上亦可以使用上下左右鍵來操作,詳細的操作方式請參考操作環境。
Octave 有非常完整的說明文件,要查詢某一個函數的使用方法,可使用 help
,例如查詢 plot
函數的使用方法:
help plot
有時候 Octave 所輸出的說明文件太多,所有的文件無法一次顯示在螢幕上時,按下 Enter 鍵可以顯示下一行,按下空白鍵可以顯示一頁,在部份的系統中亦可以使用上下鍵瀏覽,若要離開則按下 q
鍵。
除了 help
之外亦可以使用 doc
查看線上參考手冊,
doc
若要搜尋線上文件,可使用 lookfor
指令,詳細的說明請參考操作環境中的線上說明文件。