Octave 程序設計
於紅博
買這商品的人也買了...
-
$620$608 -
$280$252 -
$500$390 -
$650$553 -
$648$616 -
$780$764 -
$1,000$790 -
$1,000$850 -
$580$458 -
$690$587 -
$460$414 -
$1,000$790 -
$414$393 -
$352智能控制, 2/e
-
$890$757 -
$704嵌入式實時操作系統 — 基於 ARM Mbed OS 的應用實踐
-
$534$507 -
$774$735 -
$714$678 -
$479$455 -
$980$833 -
$894$849 -
$750$593 -
$560$437 -
$774$735
相關主題
商品描述
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大結局(設計控制器)