第1章 GUI設計預備知識 1
1.1 知識點歸納 1
1.1.1 基素 1
1.1.2 數據類型 7
1.1.3 矩陣操作 40
1.1.4 程序設計 49
1.2 重難點講解 61
1.2.1 矩陣、向量、標量與數組 61
1.2.2 數據類型轉換 62
1.3 專題分析 65
專題1 MATLAB基本編程步驟 65
專題2 編程風格 67
專題3 代碼優化 71
專題4 M 文件編程小技巧 75
1.4 精選答疑 82
問題數組占用的內存空間如何計算 82
問題2 如何生成指定格式的常矩陣、字符串 83
問題3 如何生成隨機矩陣 85
問題4 如何查找或刪除數據中滿足素 87
問題5 如何素排序 89
問題6 如何從文本中查找數值 92
第2章 文件I/O 93
2.1 知識點歸納 93
2.1.1 高級文件I/O操作 93
2.1.2 低級文件I/O操作 110
2.2 重難點講解 123
2.2.1 二進制文件與文本文件 123
2.2.2 sprintf與fprintf函數 124
2.2.3 fscanf與textscan函數 125
2.2.4 Excel文件操作 125
2.2.5 圖像數據的操作 125
2.2.6 低級文件I/O操作 126
2.3 專題分析 126
專題5 MATLAB讀寫文本文件 126
2.4 精選答疑 136
問題7 如何提取Excel文件中的數據信息 136
問題8 如何由圖像生成字符矩陣 139
問題9 如何循環播放WAV音樂,並可以倍速/慢速播放、暫停/繼續播放和停止播放 141
問題10 如何讀取文本和數值混合的文件中的數據 144
問題11 如何將十六進制數轉換為float值 144
第3章 繪圖簡介 146
3.1 知識點歸納 146
3.1.1 常用的繪圖函數 146
3.1.2 繪圖工具 155
3.2 重難點講解 158
3.2.1 二維繪圖的相關函數 158
3.2.2 三維繪圖的相關函數 159
3.3 精選答疑 159
問題12 如何繪制幾何曲線,例如矩形、圓、橢圓、雙曲線等 159
問題13 如何繪制數據的統計圖 161
問題14 如何繪制特殊的字符、表達式 161
問題15 如何繪制網格圖 162
第4章 句柄圖形繫統 163
4.1 知識點歸納 163
4.1.1 句柄圖形對像 164
4.1.2 句柄圖形對像的基本操作 165
4.1.3 句柄圖形對像的基本屬性 175
4.1.4 根對像 179
4.1.5 圖形窗口對像 183
4.1.6 坐標軸對像 194
4.1.7 核心圖形對像 200
4.1.8 uicontrol對像 221
4.1.9 hggroup對像 226
4.1.10 按鈕組與面板 229
4.1.11 自定義菜單與右鍵菜單 231
4.1.12 工具欄與工具欄按鈕 239
4.1.13 uitable對像 247
4.2 重難點講解 257
4.2.1 句柄式圖形對像的常用函數總結 257
4.2.2 Figure對像的幾個重要屬性 258
4.2.3 Axes對像的幾個重要屬性 259
4.2.4 Line對像的幾個重要屬性 260
4.2.5 text對像的幾個重要屬性 261
4.2.6 uitable對像的幾個重要屬性 261
4.2.7 uicontrol對像中的text控件與核心圖形對像中的text對像的比較 262
4.2.8 對像的Tag值與句柄值的概念比較(對GUIDE創建的GUI而言) 262
4.2.9 uimenu與uicontextmenu對像 262
4.3 專題分析 262
專題6 超文本標記語言(HTML)在MATLAB中的應用 262
專題7 表格設計 273
專題8 坐標軸設計 277
4.4 精選答疑 282
問題16 如何創建滿足要求的line對像 282
問題17 如何創建動態的GUI對像 283
問題18 如何為窗口設計背景圖片 285
問題19 如何定制窗口的菜單 286
問題20 如何設計窗口菜單並編寫回調函數 287
問題21 如何采用UI控件實現簡易的時鐘 288
問題22 如何實現文字的水平循環滾動效果 290
問題23 如何構造和使用hggroup對像 293
問題24 如何使窗口化、小化、置頂和居中,如何在窗口中更換圖標 295
問題25 怎樣利用Uitable對像在列名、行格中輸入上下標和希臘字母 296
問題26 如何更改菜單項的字體大小,如何設置菜單項的字體顏色 296
問題27 如何逐個輸出坐標軸內的圖形到單獨的圖片中 297
問題28 如何將多幅圖片顯示到同一個坐標軸 299
第5章 預定義對話框 301
5.1 知識點歸納 301
5.1.1 文件打開對話框(uigetfile) 302
5.1.2 文件保存對話框(uiputfile) 304
5.1.3 顏色設置對話框(uisetcolor) 305
5.1.4 字體設置對話框(uisetfont) 306
5.1.5 頁面設置對話框(pagesetupdlg) 307
5.1.6 打印預覽對話框(printpreview) 307
5.1.7 打印設置對話框(printdlg) 307
5.1.8 進度條(waitbar) 307
5.1.9 菜單選擇對話框(menu) 312
5.1.10 普通對話框(dialog) 314
5.1.11 錯誤對話框(errordlg) 314
5.1.12 警告對話框(warndlg) 317
5.1.13 幫助對話框(helpdlg) 318
5.1.14 信息對話框(msgbox) 319
5.1.15 提問對話框(questdlg) 320
5.1.16 輸入對話框(inputdlg) 321
5.1.17 目錄選擇對話框(uigetdir) 322
5.1.18 列表選擇對話框(listdlg) 322
5.2 重難點講解 323
5.2.1 uigetfile 323
5.2.2 uiputfile 324
5.2.3 waitbar 324
5.2.4 msgbox 324
5.2.5 questdlg 324
5.2.6 inputdlg 324
5.2.7 listdlg 325
5.3 專題分析 325
專題9 預定義對話框在GUI設計中的應用 325
5.4 精選答疑 329
問題29 如何制作一個嵌套到當前窗口內的進度條 329
問題30 如何制作文件瀏覽器 332
問題31 如何制作一個顏色選擇器 334
第6章 采用GUIDE建立GUI 336
6.1 知識點歸納 336
6.1.1 GUIDE界面基本操作 337
6.1.2 GUI的M 文件 346
6.1.3 回調函數 355
6.1.4 GUI跨平臺的兼容性設計 358
6.1.5 斷點調試和代碼性能分析器 359
6.1.6 采用GUIDE創建GUI的步驟 359
6.1.7 觸控按鈕(Push Button) 360
6.1.8 靜態文本(Static Text) 362
6.1.9 切換按鈕(Toggle Button) 364
6.1.10 滑動條(Slider) 366
6.1.11 單選按鈕(Radio Button) 368
6.1.12 可編輯文本(Edit Text) 369
6.1.13 復選框(Check Box) 371
6.1.14 列表框(Listbox) 373
6.1.15 彈起式菜單(Pop up Menu) 374
6.1.16 按鈕組(Button Group) 376
6.1.17 面板(Panel) 378
6.1.18 表格(Table) 379
6.1.19 坐標軸(axes) 384
6.2 重難點講解 386
6.2.1 回調函數中的數據傳遞 386
6.2.2 GUI界面之間的數據傳遞 387
6.2.3 KeyPressFcn與CurrentCharacter 388
6.2.4 WindowButtonDownFcn、Callback與SelectionType 388
6.3 專題分析 388
專題10 GUI對像之間的數據傳遞 388
專題11 回調函數的應用實例 393
6.4 精選答疑 405
問題32 如何動態修改List Box的選項 405
問題33 如何動態修改Pop Up Menu的選項 407
問題34 如何實現圖片的局部放大預覽 411
第7章 串口編程 414
7.1 知識點歸納 414
7.1.1 串口概述 414
7.1.2 串口對像的屬性 416
7.1.3 串口的基本操作 420
7.1.4 串口I/O函數彙總 423
7.2 重難點講解 424
7.2.1 串口對像的創建 424
7.2.2 重要的串口操作函數 424
第8章 采用App Designer建立APP 425
8.1 知識點歸納 425
8.1.1 App Designer簡介 426
8.1.2 啟動 App Designer 427
8.1.3 17種常用對像 431
8.1.4 2種容器對像 449
8.1.5 1種圖窗工具對像 452
8.1.6 10種儀器對像 453
8.1.7 回調函數表 455
8.1.8 9種常用對話框 456
8.2 重難點講解 468
8.2.1 獲取對像的屬性值 468
8.2.2 私有屬性的傳遞 470
8.2.3 公共屬性的傳遞 473
8.2.4 私有函數的調用 474
8.2.5 公共函數的調用 476
8.2.6 通過腳本訪問APP 478
8.2.7 APP界面添加背景圖片 478
8.2.8 3種APP打包方式 479
8.2.9 淺談App Designer代碼結構 488
8.3 專題分析 491
專題12 使用App Designer設計兩窗口APP 491
專題13 使用App Designer設計多窗口APP 499
8.4 精選答疑 514
問題35 如何使用App Designer設計數字信號濾波器 514
問題36 如何使用App Designer設計數字圖像處理器 519
問題37 如何采用純代碼創建APP 525
問題38 如何將GUIDE 創建的APP遷移至App Designer 529
附 錄 MATLAB GUI設計常用函數 533