分類: Octave

開始使用 Octave

微分方程

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

此指令會將目前顯示在螢幕上的圖形輸出成 500400 像素的 png 圖檔儲存至 output.png 檔案中。關於更進一步的繪圖功能可以參考繪圖。

命令列操作

在 Octave 中可以使用 Ctrl + p 鍵顯示上一個執行過的指令,Ctrl + n 顯示下一個指令,而 Ctrl + bCtrl + f 可以左右移動輸入游標進而鍵編輯指令內容,在大部分的系統上亦可以使用上下左右鍵來操作,詳細的操作方式請參考操作環境。

線上說明

Octave 有非常完整的說明文件,要查詢某一個函數的使用方法,可使用 help,例如查詢 plot 函數的使用方法:

help plot

有時候 Octave 所輸出的說明文件太多,所有的文件無法一次顯示在螢幕上時,按下 Enter 鍵可以顯示下一行,按下空白鍵可以顯示一頁,在部份的系統中亦可以使用上下鍵瀏覽,若要離開則按下 q 鍵。

除了 help 之外亦可以使用 doc 查看線上參考手冊,

doc

若要搜尋線上文件,可使用 lookfor 指令,詳細的說明請參考操作環境中的線上說明文件。

Page: 1 2 3

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: 數學

Recent Posts

[開箱] Marttiini MFT G10 芬蘭北歐直刀

本篇是 Marttiini M...

2 年 ago

[開箱] 一般打火棒、鎂塊打火棒

本篇是鎂塊打火棒與一般普通打火...

2 年 ago

[開箱] 瑞典 BAHCO 396-Lap 魚牌軍規摺疊鋸

本篇為瑞典 BAHCO 396...

2 年 ago

[DIY] 野炊水煮蛋、紅豆湯記錄

本篇記錄今年過年期間帶阿玄在家...

2 年 ago

[竹北素食] 善菓堂 SHAN GUO TANG

本篇是我最近去竹北善菓堂用餐時...

2 年 ago

Linux 複製檔案 cp 指令用法教學與範例

本篇介紹如何在 Linux 系...

2 年 ago