ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
GNU Octave - Wikipedia

GNU Octave

维基百科,自由的百科全书

GNU Octave

开发者 John W. Eaton
最新版 3.0.0 / 2007年12月21日
操作系统 跨平臺
类型 数学软件
许可协议 GNU通用公共許可證
网站 http://www.octave.org/

Octave 是一個旨在提供與Matlab語法相容的開放源碼 科學計算及數值分析的工具;它同時也是GNU計畫成員之一。

目录

[编辑] 歷史

該軟體肇始於1988年,其初衷是提供一些化學反應設計課程的輔助工具。

系統性開發則是由John W. Eaton在1992年接手才開始的。 第一個alpha測試版是在1993年一月四日釋出,1.0穩定版則是在同年二月十七日釋出。 最新的3.0.0穩定版在2007年十二月廿一日釋出。

其名稱與音樂上的八度沒有直接關係。該軟體乃是以一位早期開發羣的成員,同時也以敏於處理數值逼近問題著稱的前教授命名。

[编辑] 技術細節

[编辑] Octave語言

Octave語言是直譯式及結構化(類於C語言)的程式語言,支援許多C語言的標準函式庫提供的功能,同時可以使用UNIX的系統呼叫以進行擴充增進功能,但不支援以參照的方式傳遞參數。

Octave程式包含了許多腳本函式呼叫,它本身是以矩陣為基礎並提供許多矩陣的操作函式。它並非物件導向程式語言但支援資料建構

它的語法基本上與Matlab一致,嚴謹編寫的程式碼應同時可在Matlab及Octave執行。

由於Octave是以GNU通用公共許可證授權,所以可以自由地複製、流通與使用。Octave可在大部份的類Unix作業系統中執行,亦可在Microsoft Windows中執行。

[编辑] 特殊功能

變數及函式名稱自動補齊

在命令列按下TAB鍵,Octave會自動補齊變數,函式或檔案的名稱。Octave會依據游標之前的文字來補齊。

指令回溯

在互動模式下,Octave會將歷次指令存在暫存檔中以俟呼叫與編輯。

資料建構

Octave包含了初步的資料建構功能,例如:

octave:1> x.a = 1; x.b = [1, 2; 3, 4]; x.c = "string";
octave:2> x.a
x.a = 1
octave:3> x.b
x.b =

  1  2
  3  4

octave:4> x.c
x.c = string
短路邏輯算符

Octave的`&&'及 `||'的邏輯算符是在短路的方式下運算(如同C語言中的相仿算符),相反於逐算子算符`&' 及 `|'。

遞增與遞減算符

Octave如同C語言一樣具有可前置或後置的遞增與遞減算符。

例外處理

Octave以提供初步的LISPunwind_protect例外處理模式。通常unwind_protect表述區段可表示如下:

unwind_protect
  body
unwind_protect_cleanup
  cleanup
end_unwind_protect
變數長度參數表列

Octave提供用於處理未指明參數個數時的函式呼叫機制:利用特殊的varargin作為參數來呼叫函式。

function s = plus (varargin)
  if (nargin==0)
    s = 0;
  else
    s = varargin{1} + plus (varargin{2:nargin});
  endif
endfunction
變數長度回傳表列

單一函式可以varargout這一特殊回傳值來回傳任意數目的值,例如:

function varargout = multiassign (data)
  for k=1:nargout
    varargout{k} = data(:,k);
  endfor
endfunction

[编辑] MATLAB相容性

Octave最初便是模彷Matlab而設計,自然與Matlab有許多相同的功能。

  1. 矩陣為基礎資料型別之一
  2. 內建支援複數
  3. 內建功能強大的數學函式及可擴充的函式庫
  4. 使用者可自定函式

[编辑] 其他

[编辑] 外部連結

您可以在維基教科書中查找此百科条目的相關電子教程:

[编辑] 參考文件



aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -