GNU Octave เป็น ภาษาการเขียนโปรแกรมทางวิทยาศาสตร์ สำหรับ การคำนวณทางวิทยาศาสตร์ และ การคำนวณเชิงตัวเลข อ็อกเทฟช่วยในการแก้ปัญหาเชิงเส้นและไม่เชิงเส้นในเชิงตัวเลข และสำหรับดำเนินการทดลองเชิงตัวเลขอื่นๆ โดยใช้ภาษาที่ส่วนใหญ่เข้ากันได้กับ MATLAB นอกจากนี้ยังอาจใช้เป็นภาษา ที่เน้นแบบแบตช์ ด้วย ในฐานะที่เป็นส่วนหนึ่งของ โครงการ GNU ซอฟต์แวร์นี้เป็น ซอฟต์แวร์เสรี ภายใต้เงื่อนไขของ GNU General Public License
GNU Octave 4.3.0+ running on Linux | |
Developer(s) | John W. Eaton and many others |
---|---|
Initial release | 4 January 19934 January 1993) (first alpha release) 17 February, 199417 February, 1994) (version 1.0) ( | (
Stable release | 8.4.0 / 5 November 2023 |
Repository |
|
Written in | C++ (main), Octave itself (scripts), C (wrapper code), Fortran (linear algebra wrapper code) |
Operating system | Windows, macOS, Linux, BSD |
Available in | 18 languages |
Type | Scientific computing |
License | 2007: GPL-3.0-or-later 1992: GPL-2.0-or-later |
Website | gnu.org/software/octave/ |
ประวัติ
โครงการนี้เกิดขึ้นประมาณปี พ.ศ. 2531 ในตอนแรกตั้งใจที่จะใช้ร่วมกับหลักสูตรการออกแบบเครื่องปฏิกรณ์เคมี การพัฒนาเต็มรูปแบบเริ่มต้นโดย John W. Eaton ในปี 1992 อัลฟ่ารุ่นแรกเริ่มตั้งแต่วันที่ 4 มกราคม พ.ศ. 2536 และในวันที่ 17 กุมภาพันธ์ พ.ศ. 2537 เวอร์ชัน 1.0 ได้รับการเผยแพร่ เวอร์ชัน 8.4.0 เปิดตัวเมื่อวันที่ 5 พฤศจิกายน 2023
โปรแกรมนี้ตั้งชื่อตาม Octave Levenspiel อดีตศาสตราจารย์ของผู้เขียนหลัก Levenspiel เป็นที่รู้จักจากความสามารถของเขาในการ คำนวณแบบ back-of-envelope อย่างรวดเร็ว
ประวัติการพัฒนา
Time | Action |
---|---|
1988/1989 | 1st discussions (Book and Software) |
February 1992 | Start of Development |
January 1993 | News in Web (Version 0.60) |
February 1994 | 1st Publication (Version 1.0.0 to 1.1.1) |
December 1996 | 2nd Publication (Version 2.0.x) with Windows Port (Cygwin) |
March 1998 | Version 2.1 |
November 2004 | Version 2.9 (DEV Version of 3.0) |
December 2007 | Publication of Version 3.0 (Milestone) |
June 2009 | Publication of Version 3.2 (Milestone) |
8 February 2011 | Version 3.4.0 (Milestone) |
22 February 2012 | Publication of Octave 3.6.1 (Milestone) |
31 December 2013 | Publication of Octave 3.8.0 (experimental GUI) |
29 May 2015 | Version 4.0.0 (stable GUI and new Syntax for OOP) |
14 November 2016 | Version 4.2.0 (gnuplot 4.4+) |
30 April 2018 | Version 4.4.0 (new Goal for GUI QT Toolkit, the FLTK toolkit is not deprecated and there is no schedule for its removal - while no longer prioritized) |
1 March 2019 | Publication of Octave 5.1.0 (QT5 preferred, Qt 4.8 minimum), hiDpi support |
31 January 2020 | Publication of Octave 5.2.0 (QT5 preferred) |
26 November 2020 | Publication of Octave 6.1.0 (QT5 preferred, Qt 4.x deprecated for remove in 7) |
20 February 2021 | Publication of Octave 6.2.0 (QT5 preferred), Bugfix, improved matlab syntax support |
6 April 2022 | Publication of Octave 7.1.0 (QT5 preferred), improved graphics backend and matlab compatibility |
28 July 2022 | Publication of Octave 7.2.0 (QT5 preferred), bug fixing release |
2 Nov 2022 | Publication of Octave 7.3.0 (QT5 preferred), bug fixing release |
7 March 2023 | Publication of Octave 8.1.0, improved graphics backend and matlab compatibility |
13 April 2023 | Publication of Octave 8.2.0, bug fixing release |
8 August 2023 | Publication of Octave 8.3.0, bug fixing release |
5 November 2023 | Publication of Octave 8.4.0, bug fixing release |
การพัฒนา
นอกเหนือจากการใช้บนเดสก์ท็อปสำหรับการคำนวณทางวิทยาศาสตร์ส่วนบุคคลแล้ว Octave ยังใช้ในด้านวิชาการและอุตสาหกรรมอีกด้วย ตัวอย่างเช่น Octave ถูกใช้บนคอมพิวเตอร์ ขนาดใหญ่ที่ เพื่อค้นหาช่องโหว่ที่เกี่ยวข้องกับการเดาหมายเลขประกันสังคม
การเร่งความเร็วด้วย OpenCL หรือ CUDA ก็สามารถทำได้ด้วยการใช้ GPU
รายละเอียดทางเทคนิค
- อ็อกเทฟเขียนด้วย ภาษา C++ โดยใช้ ไลบรารี่มาตรฐาน C++
- อ็อกเทฟใช้ ล่าม เพื่อรันภาษาสคริปต์อ็อกเทฟ
- อ็อกเทฟสามารถขยายได้โดยใช้โมดูลที่สามารถโหลดได้แบบไดนามิก
- ตัวแปลระดับแปดเสียงมีกลไกกราฟิกที่ใช้ OpenGL เพื่อสร้างแปลง กราฟ และแผนภูมิ และบันทึกหรือพิมพ์ หรืออีกทางหนึ่ง gnuplot สามารถใช้เพื่อจุดประสงค์เดียวกันได้
- อ็อกเทฟมี ส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) นอกเหนือจาก ส่วนต่อประสานบรรทัดคำสั่ง (CLI) แบบดั้งเดิม ดู #อินเทอร์เฟซผู้ใช้ สำหรับรายละเอียด
ภาษาอ็อกเทฟ
ภาษาอ็อกเทฟเป็นภาษาการเขียนโปรแกรมแบบตีความ มันเป็นภาษา (คล้ายกับ C ) และสนับสนุนฟังก์ชัน ทั่วไปจำนวนมาก และการเรียกและฟังก์ชันของระบบ UNIX บางอย่าง อย่างไรก็ตาม มันไม่สนับสนุนการส่งผ่านอาร์กิวเมนต์โดยการอ้างอิง แม้ว่าอาร์กิวเมนต์ของฟังก์ชันเป็น เพื่อหลีกเลี่ยงการทำซ้ำที่ไม่จำเป็น
โปรแกรมอ็อกเทฟประกอบด้วยรายการการเรียกใช้ฟังก์ชันหรือ สคริปต์ ไวยากรณ์เป็นแบบ และมีฟังก์ชันต่างๆ สำหรับการดำเนินการเมทริกซ์ รองรับ โครงสร้างข้อมูล ที่หลากหลายและอนุญาต การเขียนโปรแกรมเชิงวัตถุ
ไวยากรณ์ของมันคล้ายกับ MATLAB มากและการเขียนโปรแกรมอย่างระมัดระวังของสคริปต์จะช่วยให้สามารถทำงานได้ทั้งบน Octave และ MATLAB
เนื่องจากอ็อกเทฟมีให้บริการภายใต้ สัญญาอนุญาตสาธารณะทั่วไปของ GNU จึงอาจมีการเปลี่ยนแปลง คัดลอก และใช้งานได้อย่างอิสระ โปรแกรมนี้ทำงานบน Microsoft Windows และ ระบบปฏิบัติการ ที่คล้าย Unix และ Unix ส่วนใหญ่ รวมถึง Linux, Android และ macOS
คุณสมบัติเด่น
การกรอกคำสั่งและชื่อตัวแปร
การพิมพ์อักขระ TAB บนบรรทัดคำสั่งทำให้ Octave พยายามกรอกตัวแปร ฟังก์ชัน และชื่อไฟล์ให้สมบูรณ์ (คล้ายกับ การเสร็จสิ้นแท็บ ของ Bash ) อ็อกเทฟใช้ข้อความหน้าเคอร์เซอร์เป็นส่วนเริ่มต้นของชื่อเพื่อเติมให้สมบูรณ์
ประวัติคำสั่ง
เมื่อทำงานแบบโต้ตอบ Octave จะบันทึกคำสั่งที่พิมพ์ในบัฟเฟอร์ภายในเพื่อให้สามารถเรียกคืนและแก้ไขได้
โครงสร้างข้อมูล
อ็อกเทฟมีการรองรับจำนวนจำกัดสำหรับการจัดระเบียบข้อมูลในโครงสร้าง ในตัวอย่างนี้ เราเห็นโครงสร้างx มีองค์ประกอบabc, (จำนวนเต็ม อาร์เรย์ และสตริง ตามลำดับ):
octave:1> x.a = 1; x.b = [1, 2; 3, 4]; x.c = "string"; octave:2> x.a ans = 1 octave:3> x.b ans = 1 2 3 4 octave:4> x.c ans = string octave:5> x x = scalar structure containing the fields: a = 1 b = 1 2 3 4 c = string
ตัวดำเนินการบูลีนลัดวงจร
อ็อกเทฟ &&
และ ||
ตัวดำเนินการ เชิงตรรกะได้รับการประเมินในลักษณะ ลัดวงจร (เช่น ตัวดำเนินการที่สอดคล้องกันในภาษา C ) ตรงกันข้ามกับตัวดำเนินการแบบองค์ประกอบต่อองค์ประกอบ &
และ |
.
ตัวดำเนินการเพิ่มและลด
อ็อกเทฟประกอบด้วย ตัวดำเนินการการเพิ่มและลดค่า แบบ C ++
และ --
ทั้งในแบบฟอร์มคำนำหน้าและคำต่อท้าย อ็อกเทฟยังทำการ เสริมการมอบหมาย เช่น x += 5
ผ่อนคลาย-ปกป้อง
Octave รองรับรูปแบบ การจัดการข้อยกเว้น ที่จำกัดซึ่งจำลองตาม unwind_protect
ของ Lisp รูปแบบทั่วไปของบล็อก unwind_protect มีลักษณะดังนี้:
unwind_protect body unwind_protect_cleanup cleanup end_unwind_protect
ตามกฎทั่วไป GNU Octave รับรู้ว่าเป็นการยกเลิก block
ที่กำหนด ไม่ว่าจะเป็นการ end
คำหลัก (ซึ่งเข้ากันได้กับภาษา MATLAB) หรือ end block
คำหลักที่เฉพาะเจาะจงมากขึ้น หรือในบางกรณี end_ block
ด้วยเหตุนี้ บล็อก unwind_protect
จึงสามารถยุติได้ด้วยคีย์เวิร์ด end_unwind_protect
ดังตัวอย่าง หรือใช้คีย์เวิร์ดแบบพกพามากกว่า end
ส่วน การล้างข้อมูล ของบล็อกจะถูกดำเนินการเสมอ ในกรณีที่ส่วน ของร่างกาย เกิดข้อยกเว้น การล้างข้อมูล จะดำเนินการทันทีก่อนที่จะเผยแพร่ข้อยกเว้นไปนอกบล็อก unwind_protect
GNU Octave ยังรองรับการจัดการข้อยกเว้นรูปแบบอื่น (เข้ากันได้กับภาษา MATLAB):
try body catch exception_handling end
รูปแบบหลังนี้แตกต่างจากบล็อก unwind_protect
ในสองวิธี ขั้นแรก Exception_handling จะดำเนินการเฉพาะเมื่อมีการยกข้อยกเว้นโดย body เท่านั้น ประการที่สอง หลังจากการดำเนินการของ Exception_handling ข้อยกเว้นจะไม่แพร่กระจายออกไปนอกบล็อก (เว้นแต่จะมีการแทรกคำสั่ง rethrow( lasterror )
ไว้อย่างชัดเจนภายในโค้ด Exception_handling )
รายการอาร์กิวเมนต์ที่มีความยาวผันแปรได้
อ็อกเทฟมีกลไกในการจัดการฟังก์ชันที่รับอาร์กิวเมนต์ที่ไม่ระบุจำนวนโดยไม่มีขีดจำกัดบนที่ชัดเจน หากต้องการระบุรายการอาร์กิวเมนต์ตั้งแต่ศูนย์ขึ้นไป ให้ใช้อาร์กิวเมนต์พิเศษ varargin
เป็นอาร์กิวเมนต์สุดท้าย (หรือเท่านั้น) ในรายการ varargin
เป็นอาร์เรย์เซลล์ที่มีอาร์กิวเมนต์อินพุตทั้งหมด
function s = plus (varargin) if (nargin==0) s = 0; else s = varargin{1} + plus (varargin{2:nargin}); end end
รายการส่งคืนที่มีความยาวผันแปรได้
สามารถตั้งค่าฟังก์ชันให้ส่งคืนค่าจำนวนเท่าใดก็ได้โดยใช้ค่าส่งคืนพิเศษ varargout
ตัวอย่างเช่น:
function varargout = multiassign (data) for k=1:nargout varargout{k} = data(:,k); end end
บูรณาการ C++
นอกจากนี้ยังสามารถรันโค้ด Octave ได้โดยตรงในโปรแกรม C++ ตัวอย่างเช่น นี่คือข้อมูลโค้ดสำหรับการเรียก rand([10,1])
:
#include <octave/oct.h> ... ColumnVector NumRands(2); NumRands(0) = 10; NumRands(1) = 1; octave_value_list f_arg, f_ret; f_arg(0) = octave_value(NumRands); f_ret = feval("rand", f_arg, 1); Matrix unis(f_ret(0).matrix_value());
รหัส C และ C++ สามารถรวมเข้ากับ GNU Octave ได้โดยการสร้างไฟล์ oct หรือใช้ ไฟล์ MEX ที่เข้ากันได้กับ MATLAB
ความเข้ากันได้ของ MATLAB
Octave ได้รับการสร้างขึ้นโดยคำนึงถึงความเข้ากันได้ของ MATLAB และแบ่งปันคุณสมบัติมากมายกับ MATLAB:
- เมทริกซ์เป็นชนิดข้อมูลพื้นฐาน
- รองรับจำนวนเชิงซ้อนในตัว
- ฟังก์ชันทางคณิตศาสตร์ในตัวอันทรงพลังและไลบรารีฟังก์ชันที่กว้างขวาง
- ความสามารถในการขยายในรูปแบบของฟังก์ชันที่ผู้ใช้กำหนด
อ็อกเทฟถือว่าความไม่เข้ากันกับ MATLAB ว่าเป็น ข้อบกพร่อง ดังนั้นจึงถือได้ว่าเป็น ซึ่งไม่ ละเมิดลิขสิทธิ์ซอฟต์แวร์ ตามคดีของศาล
โดยหลักการแล้วสคริปต์ MATLAB จากที่เก็บ FileExchange ของ นั้นเข้ากันได้กับ Octave อย่างไรก็ตาม แม้ว่าผู้ใช้มักจะจัดเตรียมและอัปโหลดภายใต้ โอเพ่นซอร์ส Octave และเหมาะสม แต่ FileExchange ห้ามการใช้งานใดๆ นอกเหนือจาก MATLAB ที่เป็นกรรมสิทธิ์ ของ MathWorks
ความเข้ากันได้ของไวยากรณ์
มี การเพิ่มไวยากรณ์ 2012-04-26 ที่ เวย์แบ็กแมชชีน ที่มีจุดประสงค์เล็กน้อยแม้ว่าจะเล็กน้อยก็ตาม:
- บรรทัด ความคิดเห็น สามารถขึ้นต้นด้วยอักขระ # และ % อักขระ;
- รองรับตัวดำเนินการ ที่ใช้ C ต่างๆ ++, --, +=, *=, /=;
- องค์ประกอบสามารถอ้างอิงได้โดยไม่ต้องสร้างตัวแปรใหม่โดยการจัดทำดัชนีแบบเรียงซ้อน เช่น [1:10](3);
- สตริง สามารถกำหนดได้ด้วยอักขระ double-quote " เช่นเดียวกับอักขระ single-quote ';
- เมื่อประเภทตัวแปรเป็นแบบ เดี่ยว (ตัวเลขทศนิยมที่มีความแม่นยำเดียว) อ็อกเทฟจะคำนวณ " ค่าเฉลี่ย " ในโดเมนเดียว (MATLAB ใน โดเมนคู่ ) ซึ่งจะเร็วกว่าแต่ให้ผลลัพธ์ที่แม่นยำน้อยกว่า
- การบล็อกยังสามารถยุติได้ด้วยคีย์เวิร์ด โครงสร้างการควบคุม ที่เฉพาะเจาะจงมากขึ้น เช่น endif, endfor, end While เป็นต้น;
- ฟังก์ชั่นสามารถกำหนดได้ภายในสคริปต์และที่พรอมต์อ็อกเทฟ
- การมีอยู่ของลูป do-until (คล้ายกับ do- while ในภาษา C)
ความเข้ากันได้ของฟังก์ชัน
ฟังก์ชันต่างๆ ของ MATLAB จำนวนมาก แต่ไม่ใช่ทั้งหมดมีอยู่ใน GNU Octave และบางฟังก์ชันสามารถเข้าถึงได้ผ่านแพ็คเกจใน Octave Forge ฟังก์ชันที่มีให้ใช้งานโดยเป็นส่วนหนึ่งของแพ็คเกจ Octave หลักหรือแพ็คเกจ Forge นั้นแสดงอยู่ ในระบบออนไลน์ 2024-03-14 ที่ เวย์แบ็กแมชชีน
รายการฟังก์ชันที่ไม่พร้อมใช้งานจะรวมอยู่ในฟังก์ชันอ็อกเทฟ __unimplemented.m__
ฟังก์ชันที่ยังไม่ได้ดำเนินการยังแสดงอยู่ในแพ็คเกจ Octave Forge จำนวนมากใน Octave Wiki
เมื่อเรียกใช้ฟังก์ชันที่ยังไม่ได้ใช้งาน ข้อความแสดงข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น:
octave:1> guide warning: the 'guide' function is not yet implemented in Octave Please read <http://www.octave.org/missing.html> to learn how you can contribute missing functionality. error: 'guide' undefined near line 1 column 1
ส่วนติดต่อผู้ใช้
อ็อกเทฟมาพร้อมกับ ส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) อย่างเป็นทางการและ สภาพแวดล้อมการพัฒนาแบบรวม (IDE) ที่ใช้ Qt มีให้บริการตั้งแต่ Octave 3.8, และกลายเป็นอินเทอร์เฟซเริ่มต้น (ผ่าน อินเทอร์เฟซบรรทัดคำสั่ง ) ด้วยการเปิดตัว Octave 4.0 ได้รับการตอบรับอย่างดีจากผู้สนับสนุน EDN ผู้เขียน "[Octave] ตอนนี้มี GUI ที่ใช้งานได้ดีมาก" ในการตรวจสอบ GUI รุ่นใหม่ในปี
ส่วนหน้าแบบกราฟิกของบุคคลที่สามจำนวนมากได้รับการพัฒนา เช่น ToolboX สำหรับการศึกษาการเขียนโค้ด
แอปพลิเคชัน GUI
ด้วยรหัส Octave ผู้ใช้สามารถสร้างแอปพลิเคชัน GUI ได้ ดู การพัฒนา GUI (GNU Octave (เวอร์ชัน 7.1.0)) ด้านล่างนี้เป็นตัวอย่างบางส่วน:
ปุ่ม, การควบคุมการแก้ไข, ช่องทำเครื่องหมาย
# create figure and panel on it f = figure; # create a button (default style) b1 = uicontrol (f, "string", "A Button", "position",[10 10 150 40]); # create an edit control e1 = uicontrol (f, "style", "edit", "string", "editable text", "position",[10 60 300 40]); # create a checkbox c1 = uicontrol (f, "style", "checkbox", "string", "a checkbox", "position",[10 120 150 40]);
กล่องข้อความ
prompt = {"Width", "Height", "Depth"}; defaults = {"1.10", "2.20", "3.30"}; rowscols = [1,10; 2,20; 3,30]; dims = inputdlg (prompt, "Enter Box Dimensions", rowscols, defaults);
prompt = {"Width", "Height", "Depth"}; defaults = {"1.10", "2.20", "3.30"}; rowscols = [1,10; 2,20; 3,30]; dims = inputdlg (prompt, "Enter Box Dimensions", rowscols, defaults);
กล่องรายการพร้อมกล่องข้อความ
my_options = {"An item", "another", "yet another"}; [sel, ok] = listdlg ("ListString", my_options, "SelectionMode", "Multiple"); if (ok == 1) msgbox ("You selected:"); for i = 1:numel (sel) msgbox (sprintf ("\t%s", my_options{sel(i)})); endfor else msgbox ("You cancelled."); endif
ปุ่มเรดิโอ
# create figure and panel on it f = figure; # create a button group gp = uibuttongroup (f, "Position", [ 0 0.5 1 1]) # create a buttons in the group b1 = uicontrol (gp, "style", "radiobutton", "string", "Choice 1", "Position", [ 10 150 100 50 ]); b2 = uicontrol (gp, "style", "radiobutton", "string", "Choice 2", "Position", [ 10 50 100 30 ]); # create a button not in the group b3 = uicontrol (f, "style", "radiobutton","string", "Not in the group","Position", [ 10 50 100 50 ]);
แพ็คเกจ
Octave ยังมีแพ็คเกจมากมายให้เลือก แพ็คเกจเหล่านั้นตั้งอยู่ที่ Octave-Forge Octave Forge - Package หรือ Github Octave Package ใครๆ ก็สามารถสร้างและดูแลรักษาแพ็คเกจได้
เปรียบเทียบกับซอฟต์แวร์อื่นที่คล้ายคลึงกัน
ทางเลือก ฟรี อื่น ๆ สำหรับ MATLAB ได้แก่ และ Octave เข้ากันได้กับ MATLAB มากกว่า Scilab และ FreeMat ยังไม่ได้รับการอัปเดตตั้งแต่เดือนมิถุนายน 2013
ดูสิ่งนี้ด้วย
- รายการซอฟต์แวร์วิเคราะห์เชิงตัวเลข
- การเปรียบเทียบซอฟต์แวร์วิเคราะห์เชิงตัวเลข
- รายการแพ็คเกจทางสถิติ
- รายชื่อไลบรารีตัวเลข
- แมทแล็บ
หมายเหตุ
- GPL-3.0-or-later since 2007-10-12.
- GPL-2.0-or-later from 1992-02-19 until 2007-10-11.
อ้างอิง
- Rik (10 June 2015). "contributors.in". Retrieved 14 June 2015.
- ""Full-time development began in the Spring of 1992.
- "GNU Octave 8.4.0 Released".
- "Building - Octave".
- "Basque, Belarusian, Catalan, Chinese, Dutch, English, French, German, Hungarian, Italian, Japanese, Latvian, Portuguese (Brazil), Portuguese (Portugal), Russian, Spanish, Turkish, Ukrainian".
- "About GNU Octave". www.gnu.org. GNU. สืบค้นเมื่อ 1 May 2018.
- "GNU Octave 8.4.0 Released". octave.org (ภาษาอังกฤษ). 2023-11-05. สืบค้นเมื่อ 2023-11-20.
- Eaton, John W. "About Octave". สืบค้นเมื่อ 2009-06-28.
- "GNU Octave Version 1". www.gnu.org.
- "GNU Octave Version 2". www.gnu.org.
- "News Archive". www.gnu.org. 31 December 2012.
- "GNU Octave Version 3". www.gnu.org.
- "GNU Octave Version 3.2". www.gnu.org.
- "GNU Octave Version 3.4". www.gnu.org.
- "GNU Octave Version 3.6". www.gnu.org.
- "GNU Octave 3.6.4 Released". www.gnu.org. 21 February 2013.
- "GNU Octave Version 3.8". www.gnu.org.
- "GNU Octave 3.8.0 Released". www.gnu.org. 31 December 2013.
- "GNU Octave 3.8.1 Released". www.gnu.org. 4 March 2014.
- "GNU Octave Version 4.0". www.gnu.org.
- "GNU Octave 4.0.0 Released". www.gnu.org. 29 May 2015.
- "GNU Octave 4.0.1 Released". www.gnu.org. 23 March 2016.
- "GNU Octave 4.0.3 Released". www.gnu.org. 2 July 2016.
- "GNU Octave 4.2.0 Released". Nov 14, 2016.
- "GNU Octave Version 4.2". www.gnu.org.
- "GNU Octave 4.2.1 Released". www.gnu.org. 24 February 2017.
- "GNU Octave 4.2.2 Released". www.gnu.org. 13 March 2018.
- "GNU Octave Version 4.4". www.gnu.org.
- "GNU Octave 4.4.0 Released". www.gnu.org. 30 April 2018.
- "GNU Octave 4.4.1 Released". www.gnu.org. 9 August 2018.
- "GNU Octave Version 5". www.gnu.org.
- "GNU Octave 5.2.0 Released". www.gnu.org. 31 January 2020.
- "GNU Octave 6.1.0 Released". www.gnu.org. 26 November 2020.
- "GNU Octave 6.2.0 Released". www.gnu.org. 20 February 2021.
- "GNU Octave 7.1.0 Released". www.gnu.org. 6 April 2022.
- "GNU Octave 7.2.0 Released". octave.org. 28 July 2022.
- "GNU Octave 7.3.0 Released". octave.org. 2 November 2022.
- "GNU Octave 8.1.0 Released". octave.org. 7 March 2023.
- "GNU Octave 8.2.0 Released". octave.org. 13 April 2023.
- "GNU Octave 8.3.0 Released". octave.org. 8 August 2023.
- . 8 July 2009. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 29 February 2012.
- "Drop-in Acceleration of GNU Octave". NVIDIA Developer Blog. June 5, 2014.
- . 14 November 2008. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 7 January 2009. สืบค้นเมื่อ 2009-01-28.
- "GNU Octave". สืบค้นเมื่อ 2009-01-28.
- "Summary of important user-visible changes for version 3.2". สืบค้นเมื่อ 2012-01-05.
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2011-11-21. สืบค้นเมื่อ 2009-04-04.
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2011-11-21. สืบค้นเมื่อ 2009-04-04.
- "Top (GNU Octave (version 6.3.0))". octave.org.
- "Octave for Android - Octave". wiki.octave.org. สืบค้นเมื่อ 2021-08-23.
- Eaton, John W. . GNU Octave Reference Manual. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2018-02-12. สืบค้นเมื่อ 2024-03-14.
- "FAQ - Octave". wiki.octave.org. สืบค้นเมื่อ 2022-12-05.
- "MATLAB Central Terms of Use". www.mathworks.com (ภาษาอังกฤษ). สืบค้นเมื่อ 2022-12-05.
- "File Exchange Licensing FAQ". www.mathworks.com (ภาษาอังกฤษ). สืบค้นเมื่อ 2022-12-05.
- Hageman, Steve (7 February 2014). "GNU Octave hits a high note". .
- Trappenberg, Thomas (2010). Fundamentals of Computational Neuroscience. Oxford University Press. p. 361. ISBN .
- Muhammad, A; Zalizniak, V (2011). Practical Scientific Computing. . p. 3. ISBN .
- Megrey, Bernard A.; Moksness, Erlend (2008). Computers in Fisheries Research. Springer Science & Business Media. p. 345. ISBN .
- Kapuno, Raul Raymond (2008). Programming for Chemical Engineers Using C, C++, and MATLAB. Jones & Bartlett Publishers. p. 365. ISBN .
- Herman, Russell L. (2013). A Course in Mathematical Methods for Physicists. CRC Press. p. 42. ISBN .
- Wouwer, Alain Vande; Saucez, Philippe; Vilas, Carlos (2014). Simulation of ODE/PDE Models with MATLAB, Octave and Scilab: Scientific and Engineering Applications. Springer. pp. 114–115. ISBN .
- "FreeMat". freemat.sourceforge.net. สืบค้นเมื่อ 22 February 2020.
อ่านเพิ่มเติม
- Hansen, Jesper Schmidt (June 2011), GNU Octave. Beginner's Guide, , ISBN
แหล่งข้อมูลอื่น
- เว็บไซต์ทางการ
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
GNU Octave epn phasakarekhiynopraekrmthangwithyasastr sahrb karkhanwnthangwithyasastr aela karkhanwnechingtwelkh xxkethfchwyinkaraekpyhaechingesnaelaimechingesninechingtwelkh aelasahrbdaeninkarthdlxngechingtwelkhxun odyichphasathiswnihyekhaknidkb MATLAB nxkcakniyngxacichepnphasa thiennaebbaebtch dwy inthanathiepnswnhnungkhxng okhrngkar GNU sxftaewrniepn sxftaewresri phayitenguxnikhkhxng GNU General Public LicenseGNU Octave 4 3 0 running on LinuxDeveloper s John W Eaton and many othersInitial release 4 January 1993 31 years ago 4 January 1993 first alpha release 17 February 1994 30 years ago 17 February 1994 version 1 0 Stable release 8 4 0 5 November 2023Repository hg savannah gnu org hgweb octaveWritten in C main Octave itself scripts C wrapper code Fortran linear algebra wrapper code Operating system Windows macOS Linux BSDAvailable in 18 languagesType Scientific computingLicense 2007 GPL 3 0 or later 1992 GPL 2 0 or laterWebsite gnu org software octave prawtiokhrngkarniekidkhunpramanpi ph s 2531 intxnaerktngicthicaichrwmkbhlksutrkarxxkaebbekhruxngptikrnekhmi karphthnaetmrupaebberimtnody John W Eaton inpi 1992 xlfarunaerkerimtngaetwnthi 4 mkrakhm ph s 2536 aelainwnthi 17 kumphaphnth ph s 2537 ewxrchn 1 0 idrbkarephyaephr ewxrchn 8 4 0 epidtwemuxwnthi 5 phvscikayn 2023 opraekrmnitngchuxtam Octave Levenspiel xditsastracarykhxngphuekhiynhlk Levenspiel epnthiruckcakkhwamsamarthkhxngekhainkar khanwnaebb back of envelope xyangrwderwprawtikarphthnaTime Action1988 1989 1st discussions Book and Software February 1992 Start of DevelopmentJanuary 1993 News in Web Version 0 60 February 1994 1st Publication Version 1 0 0 to 1 1 1 December 1996 2nd Publication Version 2 0 x with Windows Port Cygwin March 1998 Version 2 1November 2004 Version 2 9 DEV Version of 3 0 December 2007 Publication of Version 3 0 Milestone June 2009 Publication of Version 3 2 Milestone 8 February 2011 Version 3 4 0 Milestone 22 February 2012 Publication of Octave 3 6 1 Milestone 31 December 2013 Publication of Octave 3 8 0 experimental GUI 29 May 2015 Version 4 0 0 stable GUI and new Syntax for OOP 14 November 2016 Version 4 2 0 gnuplot 4 4 30 April 2018 Version 4 4 0 new Goal for GUI QT Toolkit the FLTK toolkit is not deprecated and there is no schedule for its removal while no longer prioritized 1 March 2019 Publication of Octave 5 1 0 QT5 preferred Qt 4 8 minimum hiDpi support31 January 2020 Publication of Octave 5 2 0 QT5 preferred 26 November 2020 Publication of Octave 6 1 0 QT5 preferred Qt 4 x deprecated for remove in 7 20 February 2021 Publication of Octave 6 2 0 QT5 preferred Bugfix improved matlab syntax support6 April 2022 Publication of Octave 7 1 0 QT5 preferred improved graphics backend and matlab compatibility28 July 2022 Publication of Octave 7 2 0 QT5 preferred bug fixing release2 Nov 2022 Publication of Octave 7 3 0 QT5 preferred bug fixing release7 March 2023 Publication of Octave 8 1 0 improved graphics backend and matlab compatibility13 April 2023 Publication of Octave 8 2 0 bug fixing release8 August 2023 Publication of Octave 8 3 0 bug fixing release5 November 2023 Publication of Octave 8 4 0 bug fixing releasekarphthnanxkehnuxcakkarichbnedskthxpsahrbkarkhanwnthangwithyasastrswnbukhkhlaelw Octave yngichindanwichakaraelaxutsahkrrmxikdwy twxyangechn Octave thukichbnkhxmphiwetxr khnadihythi ephuxkhnhachxngohwthiekiywkhxngkbkaredahmayelkhpraknsngkhm karerngkhwamerwdwy OpenCL hrux CUDA ksamarththaiddwykarich GPUraylaexiydthangethkhnikhxxkethfekhiyndwy phasa C odyich ilbrarimatrthan C xxkethfich lam ephuxrnphasaskhriptxxkethf xxkethfsamarthkhyayidodyichomdulthisamarthohldidaebbidnamik twaeplradbaepdesiyngmiklikkrafikthiich OpenGL ephuxsrangaeplng kraf aelaaephnphumi aelabnthukhruxphimph hruxxikthanghnung gnuplot samarthichephuxcudprasngkhediywknid xxkethfmi swntxprasankrafikkbphuich GUI nxkehnuxcak swntxprasanbrrthdkhasng CLI aebbdngedim du xinethxrefsphuich sahrbraylaexiydphasaxxkethfphasaxxkethfepnphasakarekhiynopraekrmaebbtikhwam mnepnphasa khlaykb C aelasnbsnunfngkchn thwipcanwnmak aelakareriykaelafngkchnkhxngrabb UNIX bangxyang xyangirktam mnimsnbsnunkarsngphanxarkiwemntodykarxangxing aemwaxarkiwemntkhxngfngkchnepn ephuxhlikeliyngkarthasathiimcaepn opraekrmxxkethfprakxbdwyraykarkareriykichfngkchnhrux skhript iwyakrnepnaebb aelamifngkchntang sahrbkardaeninkaremthriks rxngrb okhrngsrangkhxmul thihlakhlayaelaxnuyat karekhiynopraekrmechingwtthu iwyakrnkhxngmnkhlaykb MATLAB makaelakarekhiynopraekrmxyangramdrawngkhxngskhriptcachwyihsamarththanganidthngbn Octave aela MATLAB enuxngcakxxkethfmiihbrikarphayit syyaxnuyatsatharnathwipkhxng GNU cungxacmikarepliynaeplng khdlxk aelaichnganidxyangxisra opraekrmnithanganbn Microsoft Windows aela rabbptibtikar thikhlay Unix aela Unix swnihy rwmthung Linux Android aela macOSkhunsmbtiednkarkrxkkhasngaelachuxtwaepr karphimphxkkhra TAB bnbrrthdkhasngthaih Octave phyayamkrxktwaepr fngkchn aelachuxiflihsmburn khlaykb karesrcsinaethb khxng Bash xxkethfichkhxkhwamhnaekhxresxrepnswnerimtnkhxngchuxephuxetimihsmburn prawtikhasng emuxthanganaebbottxb Octave cabnthukkhasngthiphimphinbfefxrphayinephuxihsamartheriykkhunaelaaekikhid okhrngsrangkhxmul xxkethfmikarrxngrbcanwncakdsahrbkarcdraebiybkhxmulinokhrngsrang intwxyangni eraehnokhrngsrangx mixngkhprakxba b c canwnetm xarery aelastring tamladb octave 1 gt x a 1 x b 1 2 3 4 x c string octave 2 gt x a ans 1 octave 3 gt x b ans 1 2 3 4 octave 4 gt x c ans string octave 5 gt x x scalar structure containing the fields a 1 b 1 2 3 4 c string twdaeninkarbulinldwngcr xxkethf amp amp aela twdaeninkar echingtrrkaidrbkarpraemininlksna ldwngcr echn twdaeninkarthisxdkhlxngkninphasa C trngknkhamkbtwdaeninkaraebbxngkhprakxbtxxngkhprakxb amp aela twdaeninkarephimaelald xxkethfprakxbdwy twdaeninkarkarephimaelaldkha aebb C aela thnginaebbfxrmkhanahnaaelakhatxthay xxkethfyngthakar esrimkarmxbhmay echn x 5 phxnkhlay pkpxng Octave rxngrbrupaebb karcdkarkhxykewn thicakdsungcalxngtam unwind protect khxng Lisp rupaebbthwipkhxngblxk unwind protect milksnadngni unwind protect body unwind protect cleanup cleanup end unwind protect tamkdthwip GNU Octave rbruwaepnkarykelik i block i thikahnd imwacaepnkar end khahlk sungekhaknidkbphasa MATLAB hrux end i block i khahlkthiechphaaecaacngmakkhun hruxinbangkrni end i block i dwyehtuni blxk unwind protect cungsamarthyutiiddwykhiyewird end unwind protect dngtwxyang hruxichkhiyewirdaebbphkphamakkwa end swn karlangkhxmul khxngblxkcathukdaeninkaresmx inkrnithiswn khxngrangkay ekidkhxykewn karlangkhxmul cadaeninkarthnthikxnthicaephyaephrkhxykewnipnxkblxk unwind protect GNU Octave yngrxngrbkarcdkarkhxykewnrupaebbxun ekhaknidkbphasa MATLAB try body catch exception handling end rupaebbhlngniaetktangcakblxk unwind protect insxngwithi khnaerk Exception handling cadaeninkarechphaaemuxmikarykkhxykewnody body ethann prakarthisxng hlngcakkardaeninkarkhxng Exception handling khxykewncaimaephrkracayxxkipnxkblxk ewnaetcamikaraethrkkhasng rethrow lasterror iwxyangchdecnphayinokhd Exception handling raykarxarkiwemntthimikhwamyawphnaeprid xxkethfmiklikinkarcdkarfngkchnthirbxarkiwemntthiimrabucanwnodyimmikhidcakdbnthichdecn haktxngkarraburaykarxarkiwemnttngaetsunykhunip ihichxarkiwemntphiess varargin epnxarkiwemntsudthay hruxethann inraykar varargin epnxareryesllthimixarkiwemntxinphutthnghmdfunction s plus varargin if nargin 0 s 0 else s varargin 1 plus varargin 2 nargin end end raykarsngkhunthimikhwamyawphnaeprid samarthtngkhafngkchnihsngkhunkhacanwnethaidkidodyichkhasngkhunphiess varargout twxyangechn function varargout multiassign data for k 1 nargout varargout k data k end end burnakar C nxkcakniyngsamarthrnokhd Octave idodytrnginopraekrm C twxyangechn nikhuxkhxmulokhdsahrbkareriyk rand 10 1 include lt octave oct h gt ColumnVector NumRands 2 NumRands 0 10 NumRands 1 1 octave value list f arg f ret f arg 0 octave value NumRands f ret feval rand f arg 1 Matrix unis f ret 0 matrix value rhs C aela C samarthrwmekhakb GNU Octave idodykarsrangifl oct hruxich ifl MEX thiekhaknidkb MATLABkhwamekhaknidkhxng MATLABOctave idrbkarsrangkhunodykhanungthungkhwamekhaknidkhxng MATLAB aelaaebngpnkhunsmbtimakmaykb MATLAB emthriksepnchnidkhxmulphunthan rxngrbcanwnechingsxnintw fngkchnthangkhnitsastrintwxnthrngphlngaelailbrarifngkchnthikwangkhwang khwamsamarthinkarkhyayinrupaebbkhxngfngkchnthiphuichkahnd xxkethfthuxwakhwamimekhaknkb MATLAB waepn khxbkphrxng dngnncungthuxidwaepn sungim laemidlikhsiththisxftaewr tamkhdikhxngsal odyhlkkaraelwskhript MATLAB cakthiekb FileExchange khxng nnekhaknidkb Octave xyangirktam aemwaphuichmkcacdetriymaelaxpohldphayit oxephnsxrs Octave aelaehmaasm aet FileExchange hamkarichnganid nxkehnuxcak MATLAB thiepnkrrmsiththi khxng MathWorks khwamekhaknidkhxngiwyakrn mi karephimiwyakrn 2012 04 26 thi ewyaebkaemchchin thimicudprasngkhelknxyaemwacaelknxyktam brrthd khwamkhidehn samarthkhuntndwyxkkhra aela xkkhra rxngrbtwdaeninkar thiich C tang xngkhprakxbsamarthxangxingidodyimtxngsrangtwaeprihmodykarcdthadchniaebberiyngsxn echn 1 10 3 string samarthkahndiddwyxkkhra double quote echnediywkbxkkhra single quote emuxpraephthtwaeprepnaebb ediyw twelkhthsniymthimikhwamaemnyaediyw xxkethfcakhanwn khaechliy inodemnediyw MATLAB in odemnkhu sungcaerwkwaaetihphllphththiaemnyanxykwa karblxkyngsamarthyutiiddwykhiyewird okhrngsrangkarkhwbkhum thiechphaaecaacngmakkhun echn endif endfor end While epntn fngkchnsamarthkahndidphayinskhriptaelathiphrxmtxxkethf karmixyukhxnglup do until khlaykb do while inphasa C khwamekhaknidkhxngfngkchn fngkchntang khxng MATLAB canwnmak aetimichthnghmdmixyuin GNU Octave aelabangfngkchnsamarthekhathungidphanaephkhekcin Octave Forge fngkchnthimiihichnganodyepnswnhnungkhxngaephkhekc Octave hlkhruxaephkhekc Forge nnaesdngxyu inrabbxxniln 2024 03 14 thi ewyaebkaemchchin raykarfngkchnthiimphrxmichngancarwmxyuinfngkchnxxkethf unimplemented m fngkchnthiyngimiddaeninkaryngaesdngxyuinaephkhekc Octave Forge canwnmakin Octave Wiki emuxeriykichfngkchnthiyngimidichngan khxkhwamaesdngkhxphidphladtxipnicapraktkhun octave 1 gt guide warning the guide function is not yet implemented in Octave Please read lt http www octave org missing html gt to learn how you can contribute missing functionality error guide undefined near line 1 column 1swntidtxphuichxxkethfmaphrxmkb swntxprasankrafikkbphuich GUI xyangepnthangkaraela sphaphaewdlxmkarphthnaaebbrwm IDE thiich Qt miihbrikartngaet Octave 3 8 aelaklayepnxinethxrefserimtn phan xinethxrefsbrrthdkhasng dwykarepidtw Octave 4 0 idrbkartxbrbxyangdicakphusnbsnun EDN phuekhiyn Octave txnnimi GUI thiichnganiddimak inkartrwcsxb GUI runihminpi swnhnaaebbkrafikkhxngbukhkhlthisamcanwnmakidrbkarphthna echn ToolboX sahrbkarsuksakarekhiynokhdaexpphliekhchn GUIdwyrhs Octave phuichsamarthsrangaexpphliekhchn GUI id du karphthna GUI GNU Octave ewxrchn 7 1 0 danlangniepntwxyangbangswn pum karkhwbkhumkaraekikh chxngthaekhruxnghmay create figure and panel on it f figure create a button default style b1 uicontrol f string A Button position 10 10 150 40 create an edit control e1 uicontrol f style edit string editable text position 10 60 300 40 create a checkbox c1 uicontrol f style checkbox string a checkbox position 10 120 150 40 klxngkhxkhwamprompt Width Height Depth defaults 1 10 2 20 3 30 rowscols 1 10 2 20 3 30 dims inputdlg prompt Enter Box Dimensions rowscols defaults prompt Width Height Depth defaults 1 10 2 20 3 30 rowscols 1 10 2 20 3 30 dims inputdlg prompt Enter Box Dimensions rowscols defaults klxngraykarphrxmklxngkhxkhwammy options An item another yet another sel ok listdlg ListString my options SelectionMode Multiple if ok 1 msgbox You selected for i 1 numel sel msgbox sprintf t s my options sel i endfor else msgbox You cancelled endif pumerdiox create figure and panel on it f figure create a button group gp uibuttongroup f Position 0 0 5 1 1 create a buttons in the group b1 uicontrol gp style radiobutton string Choice 1 Position 10 150 100 50 b2 uicontrol gp style radiobutton string Choice 2 Position 10 50 100 30 create a button not in the group b3 uicontrol f style radiobutton string Not in the group Position 10 50 100 50 aephkhekcOctave yngmiaephkhekcmakmayiheluxk aephkhekcehlanntngxyuthi Octave Forge Octave Forge Package hrux Github Octave Package ikhr ksamarthsrangaeladuaelrksaaephkhekcidepriybethiybkbsxftaewrxunthikhlaykhlungknthangeluxk fri xun sahrb MATLAB idaek aela Octave ekhaknidkb MATLAB makkwa Scilab aela FreeMat yngimidrbkarxpedttngaeteduxnmithunayn 2013dusingnidwyraykarsxftaewrwiekhraahechingtwelkh karepriybethiybsxftaewrwiekhraahechingtwelkh raykaraephkhekcthangsthiti raychuxilbraritwelkh aemthaelbhmayehtuGPL 3 0 or later since 2007 10 12 GPL 2 0 or later from 1992 02 19 until 2007 10 11 xangxingRik 10 June 2015 contributors in Retrieved 14 June 2015 Full time development began in the Spring of 1992 GNU Octave 8 4 0 Released Building Octave Basque Belarusian Catalan Chinese Dutch English French German Hungarian Italian Japanese Latvian Portuguese Brazil Portuguese Portugal Russian Spanish Turkish Ukrainian About GNU Octave www gnu org GNU subkhnemux 1 May 2018 GNU Octave 8 4 0 Released octave org phasaxngkvs 2023 11 05 subkhnemux 2023 11 20 Eaton John W About Octave subkhnemux 2009 06 28 GNU Octave Version 1 www gnu org GNU Octave Version 2 www gnu org News Archive www gnu org 31 December 2012 GNU Octave Version 3 www gnu org GNU Octave Version 3 2 www gnu org GNU Octave Version 3 4 www gnu org GNU Octave Version 3 6 www gnu org GNU Octave 3 6 4 Released www gnu org 21 February 2013 GNU Octave Version 3 8 www gnu org GNU Octave 3 8 0 Released www gnu org 31 December 2013 GNU Octave 3 8 1 Released www gnu org 4 March 2014 GNU Octave Version 4 0 www gnu org GNU Octave 4 0 0 Released www gnu org 29 May 2015 GNU Octave 4 0 1 Released www gnu org 23 March 2016 GNU Octave 4 0 3 Released www gnu org 2 July 2016 GNU Octave 4 2 0 Released Nov 14 2016 GNU Octave Version 4 2 www gnu org GNU Octave 4 2 1 Released www gnu org 24 February 2017 GNU Octave 4 2 2 Released www gnu org 13 March 2018 GNU Octave Version 4 4 www gnu org GNU Octave 4 4 0 Released www gnu org 30 April 2018 GNU Octave 4 4 1 Released www gnu org 9 August 2018 GNU Octave Version 5 www gnu org GNU Octave 5 2 0 Released www gnu org 31 January 2020 GNU Octave 6 1 0 Released www gnu org 26 November 2020 GNU Octave 6 2 0 Released www gnu org 20 February 2021 GNU Octave 7 1 0 Released www gnu org 6 April 2022 GNU Octave 7 2 0 Released octave org 28 July 2022 GNU Octave 7 3 0 Released octave org 2 November 2022 GNU Octave 8 1 0 Released octave org 7 March 2023 GNU Octave 8 2 0 Released octave org 13 April 2023 GNU Octave 8 3 0 Released octave org 8 August 2023 8 July 2009 khlngkhxmulekaekbcakaehlngedimemux 29 February 2012 Drop in Acceleration of GNU Octave NVIDIA Developer Blog June 5 2014 14 November 2008 khlngkhxmulekaekbcakaehlngedimemux 7 January 2009 subkhnemux 2009 01 28 GNU Octave subkhnemux 2009 01 28 Summary of important user visible changes for version 3 2 subkhnemux 2012 01 05 khlngkhxmulekaekbcakaehlngedimemux 2011 11 21 subkhnemux 2009 04 04 khlngkhxmulekaekbcakaehlngedimemux 2011 11 21 subkhnemux 2009 04 04 Top GNU Octave version 6 3 0 octave org Octave for Android Octave wiki octave org subkhnemux 2021 08 23 Eaton John W GNU Octave Reference Manual khlngkhxmulekaekbcakaehlngedimemux 2018 02 12 subkhnemux 2024 03 14 FAQ Octave wiki octave org subkhnemux 2022 12 05 MATLAB Central Terms of Use www mathworks com phasaxngkvs subkhnemux 2022 12 05 File Exchange Licensing FAQ www mathworks com phasaxngkvs subkhnemux 2022 12 05 Hageman Steve 7 February 2014 GNU Octave hits a high note Trappenberg Thomas 2010 Fundamentals of Computational Neuroscience Oxford University Press p 361 ISBN 978 0 19 956841 3 Muhammad A Zalizniak V 2011 Practical Scientific Computing p 3 ISBN 978 0 85709 226 7 Megrey Bernard A Moksness Erlend 2008 Computers in Fisheries Research Springer Science amp Business Media p 345 ISBN 978 1 4020 8636 6 Kapuno Raul Raymond 2008 Programming for Chemical Engineers Using C C and MATLAB Jones amp Bartlett Publishers p 365 ISBN 978 1 934015 09 4 Herman Russell L 2013 A Course in Mathematical Methods for Physicists CRC Press p 42 ISBN 978 1 4665 8467 9 Wouwer Alain Vande Saucez Philippe Vilas Carlos 2014 Simulation of ODE PDE Models with MATLAB Octave and Scilab Scientific and Engineering Applications Springer pp 114 115 ISBN 978 3 319 06790 2 FreeMat freemat sourceforge net subkhnemux 22 February 2020 xanephimetimHansen Jesper Schmidt June 2011 GNU Octave Beginner s Guide ISBN 978 1 849 51332 6aehlngkhxmulxunewbistthangkar