MATLAB程序設計語言

湯波

  • 出版商: 清華大學
  • 出版日期: 2022-07-01
  • 定價: $432
  • 售價: 8.5$367
  • 語言: 簡體中文
  • ISBN: 7302607885
  • ISBN-13: 9787302607885
  • 相關分類: Matlab
  • 下單後立即進貨 (約4週~6週)

  • MATLAB程序設計語言-preview-1
  • MATLAB程序設計語言-preview-2
  • MATLAB程序設計語言-preview-3
MATLAB程序設計語言-preview-1

商品描述

MATLAB是工程領域廣泛使用的計算軟件,以其直觀的操作、豐富的功能獲得了大量工程技術人員的青睞。筆者在多年工程實踐中,對兩個方面進行拓展:一是從程序語言角度入手,剖析剖析MATLAB運行機制,以編寫更復雜、更高效率的程序,如MATLAB內部數據怎麽存儲和組織、怎麽控制圖形句柄等;二是從工程應用角度入手,提煉工程中常用的場景,提供MATLAB參考案例。此書結合了筆者多年理論學習和工程經驗,結合程序編制、圖形繪制,以及IO處理深入分析了MATLAB實現機理,同時將大量工程案例凝練為50行以內的程序,供讀者借鑒使用。

目錄大綱

目錄

1MATLAB是什麽

2MATLAB入門

2.1性能分析函數

2.2數據類型

2.3常用操作符

2.4常用運算符

2.5常用操作符和運算符優先級

2.6變量賦值和字符顯示

2.7數值矩陣

2.7.1中括號操作符

2.7.2冒號操作符

2.7.3數組切片

2.7.4矩陣生成

2.7.5幾個復雜的矩陣生成命令示例

2.8字符串

2.9元胞數組

2.9.1小括號與大括號

2.9.2逗號操作符與逗號分隔表

2.9.3數值型數據結構之間的轉換

2.10結構體

2.10.1()操作符

2.10.2.()操作符

2.11流程控制

2.12命令、腳本和函數

2.12.1@與匿名函數

2.12.2默認參數

2.13變量的作用域

2.13.1全局變量

2.13.2引用父(或基)工作空間

2.13.3外部文件交換

2.13.4閉包

2.13.5自省

2.14IO操作

2.15圖形顯示

2.16C語言調用接口

2.17示例: 拼圖游戲

3MATLAB幫助的使用

3.1MATLAB幫助的命令

3.2HELP HELP

3.3MATLAB幫助使用

3.3.1MATLAB演示

3.3.2幫助目錄

3.3.3命令集

3.3.4搜尋

3.3.5幫助瀏覽器

3.3.6“參閱”

3.3.7TAB鍵

3.3.8編輯代碼

3.4編寫自己的幫助

4一切數據皆為數組

4.1一切數據皆為數組1

4.2數據格式查看接口

4.3一切數據皆為數組2

4.4結構體和元胞的嵌套存儲

4.5寫時復制機制

4.6傳值機制

4.7合理使用數據結構

4.7.1矩陣按列儲存

4.7.2指針

4.7.3提高程序執行效率

5向量化編程和數據流編程

5.1簡單的例子

5.2完全數

5.3向量化與循環加速

5.4數據流構架和Simulink

5.5數字字謎

5.6關於優化

6函數數據類型和函數式編程

6.1函數句柄

6.2函數作為形參及高階函數

6.3lambda表達式

6.4函數作為返回值

6.5惰性求值和流

6.6記憶函數

6.7閉包和麵向對象

7面向對象編程

7.1封裝

7.1.1類文件夾構造

7.1.2方法調用

7.1.3類的格式

7.1.4示例: 字典類

7.2繼承

7.2.1handle類和傳址機制

7.2.2dynamicprops

7.2.3hgsetget

7.3動態綁定

7.4值和句柄類

7.5事件和監聽

7.6自省

7.6.1Properties/methods/events

7.6.2元類

7.6.3findobj

7.6.4set/get

8圖形繪制初步

8.1曲線圖繪制

8.1.1plot繪制二維曲線

8.1.2subplot平鋪坐標軸

8.1.3hold鎖定當前繪圖

8.1.4plot3繪制三維曲線圖

8.1.5figure生成新的圖形窗口

8.1.6inf/nan技巧

8.1.7xlim/grid/text/title/label/legend控制

8.1.8鼠標操作編輯圖形

8.2曲面圖繪制

8.2.1fill平面填充

8.2.2mesh/surf規則網格曲面

8.2.3denaulay不規則網格數據顯示

8.2.4view視角

8.2.5campos/camtarget/camup/camzoom相機

8.2.6light/material/alpha光照、反射和透明度

8.3圖片繪制

8.4文本生成

8.5動畫生成

8.5.1getframe/movie動畫

8.5.2erasemode擦除方法

8.5.3refreshdata刷新數據

8.5.4示例: 生命游戲

8.6圖形輸出

8.7其他圖形繪制

9繪制圖形控制

9.1圖形對象系統

9.1.1層次性結構

9.1.2圖形句柄

9.2獲取句柄

9.2.1Root對象句柄

9.2.2直接保存的圖形句柄

9.2.3查找到的圖形句柄

9.2.4默認的圖形句柄

9.2.5默認繪圖狀態設置

9.3刪除/復制句柄

9.4控制句柄屬性

9.4.1句柄屬性控制方法

9.4.2獲取屬性列表

9.5典型屬性

9.5.1典型共享屬性

9.5.2典型通用屬性

9.5.3典型專用屬性

9.6屬性簡單應用

9.6.1Position屬性

9.6.2Fcn動作屬性

9.6.3UserData屬性

10高級圖形繪制

10.1Axes對象

10.1.1核心繪圖對象

10.1.2群組繪圖對象

10.1.3註釋對象

10.2DIY手冊

10.3DIY作品

10.3.1示例: 曲線族統一標註

10.3.2示例: 位於原點的坐標軸

10.3.3示例: 帶陰影效果的圖形

10.3.4示例: 置於圖片下方的圖例

10.3.5示例: 用特殊線型繪圖

10.3.6示例: 圖像的浮雕效果

10.3.7示例: 三原色

10.3.8示例: 彩色的柱狀圖

10.3.9示例: 在圖形中顯示表格

10.3.10示例: 拼圖游戲

10.3.11小結

11繪制美觀的圖形

11.1清晰

11.1.1點陣圖形和矢量圖形

11.1.2矢量圖形的保存

11.1.3帶漸變色的矢量圖形和點陣圖形的保存

11.1.4EraseMode為非normal的圖形的保存

11.2字體

11.2.1常用字體

11.2.2默認字體設置

11.2.3輸出字號調整

11.3顏色

11.3.1彩色和黑白

11.3.2利用透明效果

11.4空間

11.4.1圖形白邊

11.4.2縱橫坐標標註

11.5表現形式

11.5.1更多的表現形式

11.5.2科學數據可視化幾點提示

11.5.3學習美觀的圖形

11.5.4使用其他軟件

12圖形用戶接口(GUI)與GUIDE

12.1GUI、事件驅動和回調函數

12.2示例: 計數器

12.2.1通用控件

12.2.2回調函數

12.2.3數據交換

12.2.4定時器

12.2.5跨窗口顯示

12.3更多的控件

12.4菜單和工具欄

12.5使用鍵盤和鼠標

13程序動態生成GUI

13.1控件種類

13.2示例: helloworld

13.3示例: 標準對話框

13.4示例: 使用表格

13.5示例: 標簽頁窗口

13.6示例: 動態控件

13.7示例: 頁面佈局

13.8示例: 綜合佈局

13.9程序中嵌入界面

14JAVA數據類型和可定製界面

14.1Java及其版本

14.2創建和訪問Java對象

14.2.1Java對象

14.2.2javaObject/javaObjectEDT函數

14.2.3MATLAB/Java輸入輸出類型轉換

14.2.4訪問外部庫

14.2.5Java對象的屬性

14.3創建Java的GUI對象

14.3.1JavaFrame屬性和javacomponent封裝

14.3.2GUI對象屬性的訪問、修改和交互

14.3.3回到計數器

14.4修改MATLAB界面

14.5示例: 用MATLAB做個截屏工具

15文件管理

15.1路徑訪問

15.2臨時文件

15.3文件壓縮

15.4文件比較

15.5示例: 所有文件名稱後加上日期

15.6示例: 讀文件緩存程序

16簡易文件讀寫

16.1save/load

16.2importdata

16.3csvread/csvwrite/xlsread/xlswrite

16.4xmlread/xmlwrite

16.5示例: 將MATLAB代碼復制為帶彩色字體

17字符串生成

17.1文件句柄操作與字符串操作

17.2字符串是整形數組

17.3字符串拼接、比較和空格的處理

17.3.1字符串拼接([]/char/cellstr)

17.3.2字符串比較(strcmp/strfind/strrep)

17.3.3空格處理(deblank/strtrim)

17.4格式描述符與字符串生成

17.4.1int2str/num2str及格式輸出

17.4.2sprintf、格式描述與數組

17.5特殊描述格式

17.5.1“%”、“\”、“'”與轉義字符

17.5.2“\n”與多行文本

17.5.3“*”字符與寬度、精度描述符外置

17.5.4“$”與序列順序描述符

17.6示例: 輸出程序自身的程序

18字符串讀取與正則表達式

18.1strfind/strtok(字符級別處理)

18.2sscanf/textscan(字符串級別處理)

18.3正則表達式(詞法級別處理)

18.4擴展閱讀: 正則表達式、有限狀態機與Stateflow

18.4.1新建Simulink及其Stateflow模塊

18.4.2在Stateflow中建立初步模塊

18.4.3將狀態組合為子模塊

18.4.4通過子模塊組合,形成更大模塊

18.4.5完成全部Stateflow模塊,並輸出參數

18.4.6連接Stateflow和Simulink模型

18.4.7討論

19正則表達式使用

19.1regexp/regexprep輸出參數使用

19.2分組和捕獲

19.3優先選擇最左端匹配

19.4回溯

19.5匹配優先和忽略優先

19.6環視

19.6.1示例: 多數值的字符串匹配

19.6.2示例: 考慮引號的字符串分割(按空格分割)

19.6.3示例: 考慮引號的字符串分割(按逗號分割)

19.7條件匹配

19.8動態正則表達式

19.8.1${cmd}示例: 將字符串替換為字符串長度(動態執行結果用於

被替換字符串)

19.8.2(??@)示例: 匹配正確匯總了總字符數目的字符串(動態執行

結果用於匹配字符串)

19.8.3(??)示例: 正確反映了總字符數目的字符串(動態分析匹配

字符串)

19.8.4(?@)示例: 正則表達式診斷(在匹配字符串中動態執行,

但丟棄結果)

19.8.5綜合示例: 通過正則表達式增加行號

20讀文本文件案例

20.1示例: 帶標題欄的數組(importdata)

20.2示例: 非純數值規則文本讀取(textscan)

20.3示例: 文件預處理(fileread)

20.4示例: 讀取按間隔分割文件(fgetl/frewind)

20.5示例: 文件讀寫模板(fscanf)

21綜合案例(MATLAB幫助中“參閱”的統計)

21.1“參閱”統計

21.2主程序(函數調用和繪圖)

21.3文件夾訪問: 獲取MATLAB目錄下列出的函數

21.4字符串讀取: 獲取函數的“參閱”內容

21.5數據結構: 將函數的引用轉換為數值格式

21.6數值計算與優化: 計算“參閱”可達矩陣

21.7寫文件: 將函數及其引用的關系按graphviz格式輸出

參考文獻