Octave 程序設計

於紅博

  • 出版商: 清華大學
  • 出版日期: 2022-03-01
  • 定價: $774
  • 售價: 8.5$658
  • 語言: 簡體中文
  • ISBN: 7302587167
  • ISBN-13: 9787302587163
  • 相關分類: Matlab
  • 立即出貨

  • Octave 程序設計-preview-1
  • Octave 程序設計-preview-2
  • Octave 程序設計-preview-3
Octave 程序設計-preview-1

買這商品的人也買了...

商品描述

Octave為GNU項目下的開源軟件,旨在解決線性和非線性的數值計算問題。本書由淺入深,全面講解Octave的功能及編程方法,幫助讀者盡快掌握Octave的應用技巧。 本書共14章,層次分明,將復雜的軟件體系分解為運算符、數據類型、數據格式等方面,分類進行詳細講解,並提供大量實用程序示例,讓讀者不僅可以在學習過程中減小阻礙,在實際的科學研究中也方便查找。最後一章講解Octave高級應用,內容覆蓋全面。 本書針對零基礎的讀者,有Octave或者MATLAB經驗的程序設計人員也可以學到很多Octave獨有的特性。

目錄大綱

 

 

目錄

第1章緒論

 

第2章Octave簡介

 

2.1Octave的起源

 

2.2Octave的安裝方式

 

2.2.1源碼安裝

 

2.2.2在不同Linux版本上安裝Octave軟件

 

2.2.3從Homebrew包管理器安裝Octave軟件

 

2.2.4在其他UNIX發行版上安裝Octave軟件

 

2.2.5在WSL子系統中安裝Octave軟件

 

2.2.6在Docker中安裝Octave鏡像

 

2.2.7在Singularity中安裝Octave鏡像

 

2.2.8安裝Flatpak技術的Octave封包

 

2.2.9從Snap包管理器安裝Octave封包

 

2.2.10從Guix包管理器安裝Octave軟件

 

2.2.11從Spack包管理器安裝Octave軟件

 

2.2.12安裝Jupyter客戶端的Octave內核

 

2.2.13使用MXE交叉編譯並安裝Octave軟件

 

2.3Octave的用戶界面

 

2.3.1Linux系統上的Octave

 

2.3.2Octave的GUI模式

 

2.3.3Windows系統上的Octave

 

2.3.4macOS系統上的Octave

 

2.4Octave的運行要求

 

第3章運算符與輸入、輸出

 

3.1運算符號

 

3.1.1代數運算符

 

3.1.2邏輯運算符

 

3.1.3邏輯運算的零值

 

3.1.4按元素邏輯運算和(狹義的)邏輯運算的區別

 

3.1.5賦值運算符

 

3.1.6復合運算符

 

3.1.7其他符號

 

3.1.8運算符的運算順序

 

3.1.9運算符的優先級

 

3.2簡單的運算函數

 

3.3運算符重載

 

3.4輸入、輸出函數

 

3.4.1文件輸入、輸出函數

 

3.4.2簡單輸入函數

 

3.4.3行輸出函數

 

3.4.4格式化輸入、輸出函數

 

3.4.5終端輸入、輸出函數

 

3.4.6二進制輸入、輸出函數

 

第4章數據類型

 

4.1數據類型介紹

 

4.1.1數據類型分類

 

4.1.2實際意義上的零值

 

4.1.3原始數據類型判斷

 

4.2數據類型轉換

 

4.2.1自動類型轉換

 

4.2.2強制類型轉換

 

4.2.3數據大小端轉換

 

4.3預定義的特殊數據

 

第5章數據格式

 

5.1變量屬性

 

5.1.1由Octave工作空間管理的屬性

 

5.1.2數字類型數據的輸入方式

 

5.2數據精度

 

5.2.1預置的最大值和最小值

 

5.2.2預置的無窮小量

 

5.2.3浮點型格式能夠存儲的最大整數值

 

5.3數據的存儲空間

 

5.3.1基本數據類型的存儲空間

 

5.3.2基本變量類型的0值

 

5.3.3單引號和雙引號與字符串的關系

 

5.3.4轉義字符

 

5.4字符串

 

5.4.1字符和字符串的關系

 

5.4.2字符串的索引和切片

 

5.4.3字符串拼接

 

5.4.4創建字符串數組

 

5.4.5字符串數組自動擴充

 

5.4.6字符串截取

 

5.4.7字符串分割

 

5.4.8字符串替換

 

5.4.9字符串清除

 

5.5數組

 

5.5.1數組元素的索引

 

5.5.2數組的切片

 

5.5.3創建高維數組

 

5.5.4拼接二維數組

 

5.5.5拼接高維數組

 

5.5.6重新排列矩陣

 

5.5.7循環更改矩陣

 

5.5.8改變矩陣維度

 

5.5.9矩陣排序

 

5.5.10改變矩陣形狀

 

5.5.11截取或補齊矩陣元素

 

5.6元胞

 

5.6.1元胞的索引

 

5.6.2元胞的串級索引

 

5.6.3元胞的切片

 

5.6.4元胞的串級切片

 

5.6.5元胞的精確切片

 

5.6.6創建字符串元胞

 

5.7數據格式轉換

 

5.7.1數字類型變量轉換

 

5.7.2整數類型變量轉換

 

5.7.3元胞類型變量轉換

 

5.7.4二進制類型變量轉換

 

5.7.5十進制類型變量轉換

 

5.7.6十六進制類型變量轉換

 

5.7.7任意進制類型變量轉換

 

5.7.8字符串轉換

 

5.7.9函數句柄轉換

 

 

5.7.10矩陣轉換

 

5.7.11編碼格式轉換

 

5.7.12轉義與反轉義

 

5.7.13圖形句柄轉換

 

5.8數據查詢

 

5.8.1對比數組分量

 

5.8.2查詢數組分量

 

5.8.3查詢圖形對象

 

5.8.4查詢圖像對象

 

5.8.5查詢字符串分量

 

5.8.6查詢字符索引

 

第6章使用Octave進行簡單計算

 

6.1計算之前的準備工作

 

6.2只用運算符進行計算

 

6.2.1矩陣自動擴展特性

 

6.2.2只用運算符進行計算的示例

 

6.3使用簡單的運算函數進行計算

 

6.3.1通用代數函數

 

6.3.2通用判斷函數

 

6.3.3通用邏輯函數

 

6.3.4矩陣基本函數

 

 

6.3.5矩陣構造函數

 

6.3.6矩陣代數函數

 

第7章腳本

 

7.1腳本命名規則

 

7.1.1腳本名稱限制

 

7.1.2腳本路徑規則

 

7.1.3Octave的關鍵字

 

7.2腳本結構組成

 

7.2.1Shebang

 

7.2.2註釋

 

7.2.3幫助文本

 

7.2.4運算語句與註釋風格

 

7.3調用腳本時消除歧義

 

7.4腳本運算流程

 

7.4.1上下文

 

7.4.2source()函數指定上下文

 

7.4.3批量運行腳本

 

7.4.4嵌套運行腳本

 

7.4.5使用腳本加載函數

 

第8章函數

 

8.1函數命名規則

 

8.2函數定義方法

 

8.2.1函數的層次結構

 

8.2.2eval()函數用法與局部變量作用域改變

 

8.2.3函數的全局變量

 

8.2.4全局變量頂替局部變量

 

8.2.5函數的持久變量

 

8.2.6申請固定內存空間

 

8.2.7函數的調用優先級

 

8.2.8自動加載的函數

 

8.3輸入輸出

 

8.3.1判斷函數

 

8.3.2參數列表判斷

 

8.3.3可變參數列表

 

8.3.4遍歷輸入參數列表

 

8.3.5使用占位符略過參數

 

8.3.6參數列表分解

 

8.3.7返回參數檢查

 

8.4函數設計思想

 

8.4.1函數調用的方法

 

8.4.2函數傳入參數的方法

 

8.4.3遞歸式函數

 

8.5內聯函數

 

8.6邏輯控制

 

8.6.1順序邏輯

 

8.6.2循環邏輯

 

8.6.3判斷邏輯

 

8.6.4分支邏輯

 

8.6.5返回語句

 

8.6.6跳出語句

 

8.6.7繼續語句

 

8.7回調函數

 

8.7.1函數的回調思想

 

8.7.2觸發一個回調函數句柄

 

8.7.3自動綁定的回調函數

 

8.7.4手動綁定、解綁監聽器

 

8.8測試函數

 

8.8.1測試步驟

 

8.8.2測試原則

 

8.8.3斷言函數

 

8.8.4斷言失敗函數

 

8.8.5標準測試項

 

8.8.6測試程序的其他語法

 

8.8.7測試函數的輸出級別

 

8.9函數的重載

 

8.9.1函數的存儲空間

 

8.9.2靜態內存分配函數

 

8.9.3調用內置函數時消除歧義

 

第9章句柄

 

9.1句柄介紹

 

9.2句柄的用途

 

9.2.1簡化函數名

 

9.2.2引用函數

 

9.2.3使用句柄消除函數歧義

 

9.3句柄的特性

 

9.3.1句柄允許指向的內容

 

9.3.2feval()函數用法與調用句柄

 

9.4句柄的常用用法

 

9.4.1句柄賦值

 

9.4.2從句柄中獲得值

 

9.4.3匿名函數

 

9.4.4獲得圖形對象的句柄

 

9.4.5設置句柄的參數值

 

第10章Octave的矩陣操作

 

10.1創建空間

 

10.1.1創建線性空間

 

10.1.2創建對數空間

 

10.2特殊矩陣

 

10.2.1生成幾種常見特殊矩陣

 

10.2.2生成眼矩陣

 

10.2.3生成全1矩陣和全0矩陣

 

10.2.4按矩陣復制矩陣

 

10.2.5按元素復制矩陣

 

10.3隨機矩陣

 

10.3.1標準隨機數生成函數

 

10.3.2派生隨機數生成函數

 

10.3.3隨機排列生成函數

 

10.4示例矩陣

 

10.5稀疏矩陣

 

10.5.1稀疏矩陣初始化

 

10.5.2稀疏矩陣賦值

 

10.5.3稀疏矩陣的存儲空間

 

10.5.4從外部文件讀取稀疏矩陣

 

第11章GUI控件

 

11.1文件管理

 

11.1.1文件夾選擇器

 

11.1.2文件選擇器

 

11.1.3文件保存器

 

11.2彈窗

 

11.2.1錯誤彈窗

 

11.2.2幫助彈窗

 

11.2.3文本框彈窗

 

11.2.4列表彈窗

 

11.2.5信息框

 

11.2.6警告彈窗

 

11.2.7詢問彈窗

 

11.2.8對話框

 

11.2.9自定義彈窗

 

11.3可視化組件

 

11.3.1可視化表格

 

11.3.2可視化菜單

 

11.3.3可視化上下文菜單

 

11.3.4可視化面板

 

11.3.5單選按鈕

 

11.4工具欄

 

11.4.1工具欄按鈕

 

11.4.2工具欄撥動開關

 

11.5進度條

 

11.6GUI通用功能

 

11.6.1查詢或設置用戶自定義的GUI數據

 

11.6.2返回GUI句柄

 

11.6.3GUI功能查詢

 

11.6.4GUI運行模式查詢

 

11.6.5精確移動窗口

 

11.6.6暫停與恢復GUI之外的程序執行

 

第12章繪圖

 

12.1函數圖像繪圖函數

 

12.1.1使用直角坐標繪圖

 

12.1.2同時使用兩個獨立的y軸繪制兩條曲線

 

12.1.3使用三維坐標繪圖

 

12.1.4使用函數句柄繪圖

 

12.1.5使用給定函數繪圖

 

12.1.6使用極坐標繪圖

 

12.2統計圖繪圖函數

 

12.2.1直方圖

 

12.2.2條形圖

 

12.2.3莖葉圖

 

12.2.4階梯圖

 

12.2.5樹乾圖

 

12.2.6散點圖

 

12.2.7三維散點圖

 

12.2.8帶有分區的散點圖

 

12.2.9帕累托圖

 

12.2.10誤差統計圖

 

12.2.11餅圖

 

12.2.12玫瑰圖

 

12.3等高線圖繪圖函數

 

12.3.1二維等高線圖

 

12.3.2三維等高線圖

 

12.4向量繪圖函數

 

12.4.1羅盤圖

 

12.4.2向量圖

 

12.4.3三維向量圖

 

12.4.4羽毛圖

 

12.5改變函數圖像的刻度

 

12.5.1x軸為對數刻度、y軸為線性刻度的函數圖像

 

12.5.2x軸為線性刻度、y軸為對數刻度的函數圖像

 

12.5.3x軸為對數刻度、y軸為對數刻度的函數圖像

 

12.5.4x軸為對數刻度、y軸為線性刻度的誤差統計圖

 

12.5.5x軸為線性刻度、y軸為對數刻度的誤差統計圖

 

12.5.6x軸為對數刻度、y軸為對數刻度的誤差統計圖

 

12.6顏色填充

 

12.6.1偽彩色填充

 

12.6.2基線填充

 

12.6.3閉區域填充

 

12.7彗星圖

 

12.7.1二維彗星圖

 

12.7.2三維彗星圖

 

12.8平面繪圖函數

 

12.8.1三維網格面

 

12.8.2網格面的隱藏控制

 

12.8.3三維陰影面

 

12.8.4帶有範數信息的三維陰影面

 

12.8.5帶狀圖

 

12.8.6設定陰影效果

 

12.8.7瀑布圖

 

12.9通用繪圖附件

 

12.9.1標題

 

12.9.2圖例

 

12.9.3文本

 

12.9.4坐標軸標簽

 

12.9.5等高線標簽

 

12.9.6坐標軸邊框

 

12.9.7網格線

 

12.9.8顏色條

 

12.9.9提醒符號

 

12.9.10縮放選項

 

12.9.11旋轉選項

 

12.9.12三維旋轉功能

 

12.9.13縮放坐標軸

 

12.9.14舍棄或保留繪圖

 

12.9.15返回繪圖狀態

 

12.9.16清除當前圖形窗口

 

12.9.17清除當前軸對象

 

12.9.18將當前圖形窗口顯示在屏幕的最頂層

 

12.9.19刪除某個圖形對象

 

12.9.20關閉圖形窗口

 

12.9.21關閉當前圖形窗口並且清除所有有關的對象

 

12.9.22文本顯示風格

 

12.10繪制空的畫布

 

12.11繪制子圖

 

12.12動態重繪

 

12.12.1自動動態重繪

 

12.12.2手動動態重繪

 

12.13強制重繪

 

第13章Octave高級應用

 

13.1首選項配置

 

13.2環境變量管理

 

13.3創建Java類型變量

 

13.3.1配置環境變量

 

13.3.2實例化Java對象

 

13.3.3實例化Java數組對象

 

13.3.4調用Java方法

 

13.3.5訪問Java變量

 

13.4Bug管理與提交

 

13.4.1提出Bug

 

13.4.2跟蹤Bug

 

13.5編寫與調用文檔

 

13.5.1文檔的標題部分

 

13.5.2文檔的正文部分

 

13.5.3文檔的從屬關系

 

13.5.4生成文檔時支持的可選參數

 

13.6異常類型

 

13.6.1異常捕獲邏輯

 

13.6.2斷點恢復邏輯

 

13.7文件後綴為oct類型的程序

 

13.7.1編譯oct程序

 

13.7.2編譯oct程序時支持的可選參數

 

13.7.3編譯oct程序時支持的環境變量

 

13.7.4oct程序從編譯到運行

 

13.8結構體

 

13.9類

 

13.9.1類的定義方式

 

13.9.2成員變量的定義方式

 

13.9.3成員常量的定義方式

 

13.9.4方法

 

13.9.5靜態方法

 

13.9.6訪問權限

 

13.9.7實例化一個對象

 

13.9.8構造方法

 

13.9.9向方法中傳入自身實例

 

13.9.10繼承

 

13.9.11句柄類

 

13.9.12普通類的對象復制

 

13.9.13句柄類的對象復制

 

13.9.14方法重載

 

13.9.15調用沒有被方法重載的超類方法

 

13.9.16調用被方法重載的超類方法

 

13.10類Linux命令調用

 

13.11封裝工具箱

 

13.12日期時間函數

 

13.12.1時間戳

 

13.12.2時間字符串

 

13.12.3本地時間

 

13.12.4世界時間

 

13.12.5將時間結構體解析為時間戳

 

13.12.6將時間結構體解析為時間字符串

 

13.12.7當前時間

 

13.12.8日期字符串

 

13.12.9將時間數組解析為天數

 

13.12.10將時間數組解析為日期字符串

 

13.12.11將當前時間解析為時間數組

 

13.12.12時間運算

 

13.12.13日歷矩陣

 

第14章Octave實例

 

14.1字母大小寫轉換

 

14.2坐標變換

 

14.2.1坐標系變換

 

 

14.2.2坐標旋轉變換

 

14.3函數圖像拼接

 

14.4改變函數圖像的顯示效果

 

14.5改變函數圖像的坐標軸

 

14.6顯示函數圖像的其他信息

 

14.7規劃問題

 

14.7.1線性規劃問題

 

14.7.2二次型規劃問題

 

14.8最優解問題

 

14.8.1無約束條件下的最優解

 

14.8.2有約束條件下的最優解

 

14.8.3非線性方程組求解(迭代法)

 

14.9圖像處理

 

14.9.1圖像大小調整

 

14.9.2圖像旋轉

 

14.9.3圖像裁剪

 

14.9.4圖像對比度調整

 

14.9.5圖像色度調整

 

14.9.6圖像顏色反轉

 

14.9.7圖像傅里葉變換

 

14.9.8圖像特徵識別

 

14.10聲頻處理

 

14.11自動控制學科應用

 

14.11.1創建控制系統模型

 

14.11.2控制系統模型特徵

 

14.11.3時域分析

 

14.11.4頻域分析

 

14.11.5極點配置

 

14.11.6最優控制

 

14.11.7穩健控制

 

14.11.8解算器

 

14.11.9模型降階

 

14.11.10控制器降階

 

14.12藝術學科應用

 

14.12.1顏色調節

 

14.12.2顏色設計

 

14.12.3平面圖像上色與物體上色

 

 

第15章商道之我是飯店經理

 

15.1新的機會(設計飯店類)

 

15.2招兵買馬(設計廚師類)

 

15.3得力的廚師長(設計主管類)

 

15.4培訓服務員(設計經理類)

 

15.5潛心研究(設計GUI)

 

15.6老闆的肯定(設計廚師適配器類)

 

15.7大鵬展翅(處理人員異動)

 

15.8大結局(設計控制器)