<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=GNU_Octave</id>
	<title>GNU Octave - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=GNU_Octave"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=GNU_Octave&amp;action=history"/>
	<updated>2026-07-18T02:50:57Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=GNU_Octave&amp;diff=321051&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot：​Fixing 1 dead IA link per WP:DEADIABOOKLINKS (20260528dark)) #IABot (v2.0.9.5) (GreenC bot</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=GNU_Octave&amp;diff=321051&amp;oldid=prev"/>
		<updated>2026-05-28T21:22:27Z</updated>

		<summary type="html">&lt;p&gt;Fixing 1 dead IA link per &lt;a href=&quot;/index.php?title=En:WP:DEADIABOOKLINKS&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:DEADIABOOKLINKS（页面不存在）&quot;&gt;WP:DEADIABOOKLINKS&lt;/a&gt; (20260528dark)) #IABot (v2.0.9.5) (&lt;a href=&quot;/index.php?title=User:GreenC_bot&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:GreenC bot（页面不存在）&quot;&gt;GreenC bot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA|G1=IT|G2=FL}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name = GNU Octave&lt;br /&gt;
| logo = [[File:Gnu-octave-logo.svg|100px]]&lt;br /&gt;
| screenshot = GNUOctave430.png&lt;br /&gt;
| caption = GNU Octave 4.3.0+ running on [[Linux]]&lt;br /&gt;
| developer = John W. Eaton and many others&amp;lt;ref&amp;gt;{{cite web|title=contributors.in|author=Rik|url=http://hg.savannah.gnu.org/hgweb/octave/file/tip/doc/interpreter/contributors.in|accessdate=14 June 2015|date=10 June 2015|archive-date=2022-04-10|archive-url=https://web.archive.org/web/20220410042500/http://hg.savannah.gnu.org/hgweb/octave/file/tip/doc/interpreter/contributors.in}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| released = {{Start date and age|1988}}&lt;br /&gt;
| latest release version = 10.1.0&lt;br /&gt;
| latest release date = {{Start date and age|2025|03|28}}&amp;lt;ref&amp;gt;{{cite web|title=GNU Octave 10.1.0 Released|date=2025-03-28|url=https://octave.org/news/release/2025/03/28/octave-10.1.0-released.html|accessdate=2025-03-28|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| programming language = [[C语言|C]], [[C++]], [[Fortran]]&amp;lt;ref name=&amp;quot;octave_building&amp;quot;&amp;gt;{{cite web|title=Building - Octave|url=https://wiki.octave.org/Building|website=wiki.octave.org|publisher=GNU|accessdate=1 May 2018|language=en|archive-date=2020-07-06|archive-url=https://web.archive.org/web/20200706092331/https://wiki.octave.org/Building|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| platform = &amp;lt;!--List them all--&amp;gt;&lt;br /&gt;
| language count = 19&lt;br /&gt;
| language footnote = {{Citation needed|date=January 2016}}&lt;br /&gt;
| genre = [[List of numerical analysis software|科学计算]]&lt;br /&gt;
| license = [[GNU通用公共许可证|GNU GPLv3]]&lt;br /&gt;
| website = &lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GNU Octave&amp;#039;&amp;#039;&amp;#039;是一种采用[[高级语言|高级]][[编程语言]]的主要用于[[数值分析]]的软件。Octave有助于以数值方式解决线性和非线性问题，并使用与[[MATLAB]]兼容的语言进行其他数值实验。它也可以作为[[批处理任务|面向批处理]]的语言使用。因为它是[[GNU計劃]]的一部分，所以它是[[GNU通用公共许可证]]条款下的[[自由软件]]。&lt;br /&gt;
&lt;br /&gt;
Octave是MATLAB的主要[[自由软件|自由]]替代品之一，其他还有[[Scilab]]和[[FreeMat]]。&amp;lt;ref name=&amp;quot;Trappenberg2010&amp;quot;&amp;gt;{{cite book|last=Trappenberg|first=Thomas|title=Fundamentals of Computational Neuroscience|url=https://archive.org/details/fundamentalsofco0000trap|year=2010|publisher=Oxford University Press|isbn=978-0-19-956841-3|page=[https://archive.org/details/fundamentalsofco0000trap/page/361 361]}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;MuhammadZalizniak2011&amp;quot;&amp;gt;{{cite book|last1=Muhammad|first1=A|last2=Zalizniak|first2=V|title=Practical Scientific Computing|year=2011|publisher=[[Woodhead Publishing]]|isbn=978-0-85709-226-7|page=3}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;MegreyMoksness2008&amp;quot;&amp;gt;{{cite book|last1=Megrey|first1=Bernard A.|last2=Moksness|first2=Erlend|title=Computers in Fisheries Research|year=2008|publisher=Springer Science &amp;amp; Business Media|isbn=978-1-4020-8636-6|page=345}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Kapuno2008&amp;quot;&amp;gt;{{cite book|last=Kapuno|first=Raul Raymond|title=Programming for Chemical Engineers Using C, C++, and MATLAB|year=2008|publisher=Jones &amp;amp; Bartlett Publishers|isbn=978-1-934015-09-4|page=365}}&amp;lt;/ref&amp;gt; 然而，与Octave相比，Scilab更少强调与MATLAB的（双向）句法兼容性。&amp;lt;ref name=&amp;quot;Trappenberg2010&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;Herman2013&amp;quot;&amp;gt;{{cite book|last=Herman|first=Russell L.|title=A Course in Mathematical Methods for Physicists|year=2013|publisher=CRC Press|isbn=978-1-4665-8467-9|page=42}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;WouwerSaucez2014&amp;quot;&amp;gt;{{cite book|last1=Wouwer|first1=Alain Vande|last2=Saucez|first2=Philippe|last3=Vilas|first3=Carlos|title=Simulation of ODE/PDE Models with MATLAB, Octave and Scilab: Scientific and Engineering Applications|year=2014|publisher=Springer|isbn=978-3-319-06790-2|pages=114–115}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 歷史 ==&lt;br /&gt;
系統性開發則是由John W. Eaton在1992年接手才開始的。&lt;br /&gt;
第一個[[alpha]][[软件测试|測試]]版是在1993年1月4日釋出，1.0穩定版則是在1994年2月17日釋出&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url = http://www.gnu.org/software/octave/about.html&lt;br /&gt;
|title = About Octave&lt;br /&gt;
|accessdate = 2010-11-21&lt;br /&gt;
|archive-date = 2021-01-25&lt;br /&gt;
|archive-url = https://web.archive.org/web/20210125212427/http://www.gnu.org/software/octave/about.html&lt;br /&gt;
|dead-url = no&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
其名稱與音樂上的[[八度]]沒有直接關係。該軟體乃是以一位早期[[軟體開發|開發]]群的成員，同時也以敏於處理數值逼近問題著稱的前[[化學工程|化工系]]教授[[奧克塔夫·列文斯比爾]]（Octave Levenspiel）之名命名的。&lt;br /&gt;
&lt;br /&gt;
== 技術細節 ==&lt;br /&gt;
* Octave是以[[C++]]的[[标准模板库|標準模板]]函式庫編程而成。&lt;br /&gt;
* Octave有自己Octave語言[[直譯器]]。&lt;br /&gt;
* Octave可以動態[[外掛模組]]擴充。&lt;br /&gt;
* Octave的直譯器可用[[gnuplot]]及[[Xmgrace|Grace]]產生圖表及列印。&lt;br /&gt;
&lt;br /&gt;
== Octave語言 ==&lt;br /&gt;
Octave語言是[[直譯語言|直譯式]]及[[結構化編程|結構化]]（類於[[BASIC#無行號類型 (結構化)|第二代的BASIC]]）的程式語言，支援許多[[C語言]]風格的標準函式功能，同時可以使用[[POSIX|UNIX]]的系統呼叫以進行擴充增進功能，但不支援以[[引用]]的方式傳遞參數。&lt;br /&gt;
&lt;br /&gt;
Octave的核心由一組內建的（built-in）矩陣運算語言（如四則運算）和可載入函式（Loadable Function）組成（例如求矩陣逆inv），其餘能在核心語言之上實現而且性能開銷不會顯著增加的函式呼叫則一般以Octave[[腳本語言|腳本]]的形式存在（例如求解方程組的fsolve函數）。Octave [[解释器]]會自動處理各種不同類型的調用。&lt;br /&gt;
&lt;br /&gt;
Octave支援[[資料結構|資料建構]]，也支持基本的[[物件導向]]編程，但通常仍把它當作[[面向過程]]的[[程序設計語言]]來看待。&lt;br /&gt;
&lt;br /&gt;
它的語法基本上與Matlab一致，嚴謹編寫的程式碼應同時可在Matlab及Octave執行。但若調用了[[Matlab#工具箱|Matlab工具包]]，則一般不能直接在Octave上運行，因爲Octave附帶的工具包與Matlab並不兼容。&lt;br /&gt;
&lt;br /&gt;
由於Octave是以[[GNU通用公共許可證]]授權，所以可以自由地複製、流通與使用。Octave可在大部份的[[類Unix]][[作業系統]]中執行，亦可在[[Microsoft Windows]]、[[macOS]]、[[安卓]]中執行。&amp;lt;ref&amp;gt;{{cite web |url = https://wiki.octave.org/Category:Installation |title = Installation - Octave |publisher = GNU Octave |accessdate = 2025-03-26 |archive-date = 2025-03-14 |archive-url = https://web.archive.org/web/20250314101453/https://wiki.octave.org/Category:Installation |dead-url = no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 特殊功能 ==&lt;br /&gt;
;變數及函式名稱自動補齊:&lt;br /&gt;
在命令列按下TAB鍵，Octave會自動補齊變數，函式或檔案的名稱。Octave會依據游標之前的文字來補齊。&lt;br /&gt;
&lt;br /&gt;
;指令回溯:&lt;br /&gt;
在互動模式下，Octave會將歷次指令存在暫存檔中以俟呼叫與編輯。&lt;br /&gt;
&lt;br /&gt;
;資料建構：&lt;br /&gt;
Octave包含了初步的資料建構功能，例如：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
octave:1&amp;gt; x.a = 1; x.b = [1, 2; 3, 4]; x.c = &amp;quot;string&amp;quot;;&lt;br /&gt;
octave:2&amp;gt; x.a&lt;br /&gt;
x.a = 1&lt;br /&gt;
octave:3&amp;gt; x.b&lt;br /&gt;
x.b =&lt;br /&gt;
&lt;br /&gt;
  1  2&lt;br /&gt;
  3  4&lt;br /&gt;
&lt;br /&gt;
octave:4&amp;gt; x.c&lt;br /&gt;
x.c = string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;短路邏輯算符：&lt;br /&gt;
Octave的`&amp;amp;&amp;amp;&amp;#039;及`||&amp;#039;的邏輯算符是在[[短路求值|短路]]的方式下運算（如同C語言中的相仿算符），相反於逐算子算符`&amp;amp;&amp;#039;及`|&amp;#039;。&lt;br /&gt;
&lt;br /&gt;
;遞增與遞減算符:&lt;br /&gt;
Octave如同C語言一樣具有可前置或後置的遞增與遞減算符。&lt;br /&gt;
&lt;br /&gt;
;例外處理：&lt;br /&gt;
Octave以提供初步的[[LISP]]式&amp;lt;code&amp;gt;unwind_protect&amp;lt;/code&amp;gt;例外處理模式。通常&amp;lt;code&amp;gt;unwind_protect&amp;lt;/code&amp;gt;的{{tsl|en|Statement block|表述區段}}可表示如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;octave&amp;quot;&amp;gt;&lt;br /&gt;
unwind_protect&lt;br /&gt;
  body&lt;br /&gt;
unwind_protect_cleanup&lt;br /&gt;
  cleanup&lt;br /&gt;
end_unwind_protect&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;可變長度參數表列：&lt;br /&gt;
Octave提供用於處理未指明參數個數時的函式呼叫機制：利用特殊的&amp;lt;code&amp;gt;varargin&amp;lt;/code&amp;gt;作為參數來呼叫函式。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;octave&amp;quot;&amp;gt;&lt;br /&gt;
function s = plus(varargin)&lt;br /&gt;
  if(nargin==0)&lt;br /&gt;
   s = 0;&lt;br /&gt;
  else&lt;br /&gt;
   s = varargin{1} + plus (varargin{2:nargin});&lt;br /&gt;
  endif&lt;br /&gt;
endfunction&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;可變長度回傳表列：&lt;br /&gt;
單一函式可以&amp;lt;code&amp;gt;varargout&amp;lt;/code&amp;gt;這一特殊回傳值來回傳任意數目的值，例如：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;octave&amp;quot;&amp;gt;&lt;br /&gt;
function varargout = multiassign(data)&lt;br /&gt;
  for k=1:nargout&lt;br /&gt;
   varargout{k} = data(:,k);&lt;br /&gt;
  endfor&lt;br /&gt;
endfunction&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MATLAB相容性 ==&lt;br /&gt;
Octave最初便是模彷[[Matlab]]而設計，自然與[[Matlab]]有許多相同的功能。这也使得一部分Matlab程序可以直接或经过少量修改在Octave上运行，一些软件开发小组也使用两者兼容的语法，直接开发可以同时在Matlab和Octave使用的程序。&lt;br /&gt;
&lt;br /&gt;
# [[矩陣]]為基礎[[資料型別]]之一&lt;br /&gt;
# 內建支援[[複數 (数学)|複數]]&lt;br /&gt;
# 內建功能強大的數學[[函式]]及可擴充的[[函式庫]]&lt;br /&gt;
# 使用者可自定[[函式]]&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
* [[Scilab]]&lt;br /&gt;
* [[R語言]]&lt;br /&gt;
* [[開放源代碼軟件列表]]&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
{{Commonscat|GNU Octave}}&lt;br /&gt;
{{Wikibooks|en:Octave Programming Tutorial}}&lt;br /&gt;
* [http://www.octave.org/ Octave.org網頁]{{Wayback|url=http://www.octave.org/ |date=20060209022732 }}&lt;br /&gt;
* [http://www.gnu.org/software/octave/support.html 在線支持（含文檔）] {{Wayback|url=http://www.gnu.org/software/octave/support.html |date=20201130051804 }}&lt;br /&gt;
* [https://wiki.octave.org/ Octave快記]{{Wayback|url=https://wiki.octave.org/ |date=20111207102016 }}&lt;br /&gt;
* [https://octave.sourceforge.net/ Octave-forge社羣開發網頁] {{Wayback|url=https://octave.sourceforge.net/ |date=20100817034419 }}&lt;br /&gt;
* [http://sites.google.com/site/octavetech/ Octave教學與技術手冊] {{Wayback|url=http://sites.google.com/site/octavetech/ |date=20201015205234 }}提供Octave相關教學與範例。&lt;br /&gt;
* [https://www.math.mcgill.ca/loisel/octave-workshop/ Octave Workshop：一個Octave的整合編程環境]{{dead link|date=2017年11月 |bot=InternetArchiveBot |fix-attempted=yes }}&lt;br /&gt;
* [https://web.archive.org/web/20070820010055/http://athlone.ath.cx/~matti/kde/koctave/ kOctave：圖型介面] - 適用於KDE&lt;br /&gt;
* [https://www.online-utility.org/math/math_calculator.jsp Octave線上計算]{{Wayback|url=https://www.online-utility.org/math/math_calculator.jsp |date=20070105214600 }} - 可在網上執行Octave程式。&lt;br /&gt;
* [https://web.archive.org/web/20070630220612/http://www.aims.ac.za/wiki/index.php/Octave:Questions Octave FAQ快記有關繪圖的部份]&lt;br /&gt;
* [https://octplot.sourceforge.net/ OctPlot] {{Wayback|url=https://octplot.sourceforge.net/ |date=20190926041955 }}圖形處理套件，提供高品質的螢幕輸出。&lt;br /&gt;
* [https://web.archive.org/web/20070929091337/http://dir.gmane.org/gmane.comp.gnu.octave.general Help-Octave在Gmane的郵件論壇存檔]&lt;br /&gt;
* [https://web.archive.org/web/20080118073725/http://atc.ugr.es/javier-bin/mpitb Octave的MPI toolbox工具箱]利用GNU Octave作並行計算&lt;br /&gt;
* [http://xoctave.com Xoctave : GNU Octave GUI] {{Wayback|url=http://xoctave.com/ |date=20121226041253 }}&lt;br /&gt;
{{-}}&lt;br /&gt;
{{GNU}}&lt;br /&gt;
{{数值分析软件}}&lt;br /&gt;
{{程序设计语言}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GNU计划软件|Octave]]&lt;br /&gt;
[[Category:程序设计语言]]&lt;br /&gt;
[[Category:陣列編程語言]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>