第1章 Matlab程序設計初步1
1.1 Matlab程序設計特點1
1.1.1 Matlab Script文件1
1.1.2 Matlab表達式2
1.1.3 Matlab函數4
1.1.4 Matlab的向量運算6
1.1.5 Matlab的程序控制9
1.2 Matlab常用的數據類型12
1.2.1 數值陣列13
1.2.2 字符陣列15
1.2.3 元組陣列16
1.2.4 結構體陣列18
第2章 Matlab編譯器21
2.1 Matlab編譯器技術概述21
2.2 Matlab編譯器的功能22
2.3 使用Matlab編譯器的準備工作23
2.4 mcc編譯器典型應用24
2.4.1 獨立可執(zhí)行文件24
2.4.2 C動態(tài)鏈接庫30
2.4.3 C++動態(tài)鏈接庫32
2.4.4 C/C++動態(tài)鏈接庫的不同之處33
2.5 進一步了解mcc命令34
2.5.1 mcc常用命令選項34
2.5.2 捆綁命令文件(bundle file)35
2.6 Matlab編譯器高級應用35
2.6.1 編譯script文件35
2.6.2 Matlab編譯器關聯(lián)分析失效的情況36
2.6.3 從C/C++中調用Matlab內置函數(builtin function)38
2.6.4 可變參數傳遞(varargin,varargout)38
2.6.5 Matlab環(huán)境下執(zhí)行和MCR執(zhí)行的不同之處39
2.6.6 獲取CTF文件的目錄40
2.6.7 屏幕打印和錯誤信息顯示函數41
2.7 Deployment Tool45
2.8 程序發(fā)布47
第3章 Matlab與C語言的接口48
3.1 Matlab C/C++編譯器的設置(mex)48
3.2 Matlab中調用C程序MEX文件49
3.2.1 MEX文件介紹49
3.2.2 MEX文件結構說明50
3.3 編譯MEX文件51
3.4 Matlab中mxArray類型的操作51
3.5 Matlab與C語言混合編程常用的數據類型51
3.5.1 size_t類型51
3.5.2 Matlab C語言接口數據類型52
3.6 操作Matlab陣列mxArray的mx函數54
3.7 Matlab mex函數77
3.8 Matlab普通數值陣列的操作87
3.9 稀疏數組陣列(Sparse Array)89
3.10 Matlab元組92
3.11 Matlab結構體陣列94
3.12 Matlab字符陣列97
3.13 Matlab mat API函數98
3.14 Matlab API函數操作的實例105
3.14.1 更改Matlab數值陣列的維數105
3.14.2 分析并顯示Matlab陣列的內容108
3.14.3 向MAT文件中寫入mxArray變量118
3.14.4 從MAT文件中讀取mxArray變量121
3.14.5 通訊錄(結構體和MAT文件)125
3.15 在Visual C++中調試MEX文件131
第4章 生成可獨立運行的Matlab程序138
4.1 直接編譯M文件138
4.2 Matlab M文件中調用C函數138
4.3 在C語言中調用由Matlab.m文件生成的函數141
4.4 利用Visual C++編譯M文件并去掉控制臺窗口145
第5章 Visual C++調用Matlab程序177
5.1 在Visual C++中調用Matlab引擎177
5.1.1 API函數介紹177
5.1.2 Visual C++調用Matlab引擎的實例178
5.2 Visual C++中調用Matlab.m函數編譯后的動態(tài)鏈接庫186
第6章 Matlab Dotnet Builder與Visual C++198
6.1 COM基礎知識198
6.1.1 COM組件概述198
6.1.2 COM組件開發(fā)的基礎知識199
6.2 DotnetBuilder基礎知識204
6.2.1 配置Matlab C/C++編譯器204
6.2.2 使用Matlab DotnetBuilder204
6.3 Visual C調用DotnetBuilder生成的組件207
6.4 Matlab Dotnet Builder與Visual C++之間的數據轉換218
6.4.1 VARIANT數據類型218
6.4.2 SAFEARRAY 數據類型220
6.4.3 SAFEARRAY的創(chuàng)建函數221
6.4.4 Matlab Dotnet Builder與Visual C++數據轉換222
6.5 Matlab COM 工具庫227
6.5.1 簡介227
6.5.2 工具庫的類(utility library classes)227
6.5.3 Matlab Dotnet Builder的枚舉類型233
6.5.4 安裝和發(fā)布控件234
6.6 綜合實例235
6.6.1 實例1數據轉換及數組格式標志的使用235
6.6.2 實例2采用MWUtil處理varargin輸入和varargout輸出238
6.6.3 實例3MWStruct和MWField操作實例241
6.6.4 實例4MWComplex操作實例250
6.6.5 實例5MWSParse操作實例253
第7章 Matcom與C/C++257
7.1 安裝Matcom257
7.2 在VC++中使用Matcom C++矩陣庫259
7.3 使用Matcom C++矩陣庫的矩陣類Mm264
7.3.1 創(chuàng)建數值矩陣264
7.3.2 創(chuàng)建字符矩陣265
7.3.3 利用下標訪問矩陣的元素265
7.3.4 獲取矩陣數據的指針266
7.3.5 Mm矩陣對象的初始化267
7.3.6 Mm矩陣類的幾個常用函數267
7.3.7 Matcom C++矩陣庫常量269
7.3.8 調用系統(tǒng)函數270
7.4 Matcom C++矩陣庫的圖形和圖像顯示功能271
7.5 Matcom用于圖形顯示的常用函數273
7.6 Matcom進行圖像顯示的常用函數273
7.7 Matcom的應用實例274
7.7.1 實例1Mm矩陣的創(chuàng)建及使用274
7.7.2 實例2圖形繪制的基本功能演示278
7.7.3 實例3利用Matcom繪制動態(tài)曲線282
7.7.4 實例4利用Matcom C++矩陣庫進行圖像顯示293
7.7.5 實例5Matcom二維和三維曲線繪制綜合應用303
第8章 Visual C++調用Matlab C++數學庫316
8.1 Matlab C++ 數學庫介紹316
8.2 在Visual C++工程中調用Matlab C++數學庫316
8.3 Matlab C++數學庫的使用318
8.3.1 輸入和輸出矩陣318
8.3.2 操作Matlab mwArray陣列322
8.3.3 調用系統(tǒng)函數341
附錄 動態(tài)鏈接庫基礎知識344
A.1 為什么使用動態(tài)鏈接庫?344
A.2 C/C++語言實現(xiàn)動態(tài)鏈接庫345
A.3 C/C++語言動態(tài)鏈接庫的不同348
A.4 動態(tài)鏈接庫的調用方式348
A.4.1 隱式鏈接348
A.4.2 顯式鏈接350
參考文獻353