1 C-MEX函數介紹
1. 1 MATLAB外部接口概述
1. 1. 1 MEX文件概念
1. 1. 2 C-MEX文件的應用
1. 2 mxArray結構體
1. 3 MATLAB數據類型
1. 4 庫函數介紹
1. 4. 1 mx函數庫
1. 4. 2 mex函數庫
2 編寫編譯鏈接C-MEX函數的方法
2. 1 MEX指令
2. 2 建立MEX環(huán)境
2. 2. 1 Lcc編譯器MATLAB環(huán)境配置
2. 2. 2 MSVC 編譯器MATLAB環(huán)境配置
2. 3 用MATLAB插件在MSVC環(huán)境中編寫編譯鏈接C-MEX函數
2. 3. 1 MATLAB插件在MSVC環(huán)境中的配置
2. 3. 2 C-MEX函數的編寫編譯鏈接過程示例
3 C-MEX函數的編寫方法
3. 1 C-MEX函數分析
3. 1. 1 C與MATLAB存儲方式的區(qū)別
3. 1. 2 C-MEX函數的結構
3. 1. 3 編寫C-MEX函數的基本流程
3. 2 標量
3. 2. 1 函數介紹
3. 2. 2 雙精度實數型標量
3. 2. 3 雙精度復數型標量
3. 2. 4 雙精度標量
3. 3 矢量
3. 3. 1 函數介紹
3. 3. 2 雙精度實數型矢量
3. 3. 3 雙精度復數型矢量
3. 3. 4 雙精度矢量
3. 4 矩陣
3. 4. 1 函數介紹
3. 4. 2 雙精度實數型矩陣
3. 4. 3 雙精度復數型矩陣
3. 4. 4 雙精度矩陣
3. 5 三維數組
3. 5. 1 函數介紹
3. 5. 2 雙精度實數型三維數組
3. 5, 3 雙精度復數型三維數組
3. 5. 4 雙精度三維數組
3. 6 字符串
3. 6. 1 函數介紹
3. 6. 2 實例詳解
3. 7 非雙精度數據
3. 7. 1 非雙精度數據分類
3. 7. 2 函數介紹
3. 7. 3 實例詳解
3. 8 調用MATLAB函數
3. 8. 1 函數介紹
3. 8. 2 實例詳解
3. 9 Structures陣列
3. 9. 1 結構體介紹
3. 9. 2 函數介紹
3. 9. 3 實例詳解
3. 10 Cell陣列
3. 10. 1 單元陣列介紹
3. 10. 2 函數介紹
3. 10. 3 實例詳解
3. 11 Sparse陣列
3. 11. 1 稀疏陣列介紹
3. 11. 2 函數介紹
3. 11. 3 實例詳解
4 C-MEX函數應用舉例
4. 1 復數的處理方法
4. 1. 1 復數的fortran結構
4. 1. 2 mat2fort函數
4. 1. 3 fort2mat函數
4. 1. 4 mxArray2fort函數
4. 1. 5 fort2mxArray函數
4. 2 實現MATLAB中sum函數功能
4. 2. 1 雙精度實數型
4. 2. 2 雙精度復數型
4. 3 實現MATLAB中賦值功能
4. 3. 1 雙精度實數型
4. 3. 2 雙精度復數型
4. 4 實現MATLAB中z=surfl x. *y 功能
4. 4. 1 雙精度實數型
4. 4. 2 雙精度復數型
4. 5 實現MATLAB中z=alpha*x y功能
4. 5. 1 雙精度實數型
4. 5. 2 雙精度復數型
5 利用BLAS函數編寫C-MEX函數
5. 1 BLAS函數介紹
5. 2 用BLAS實現MATLAB中sum函數功能
5. 2. 1 用dasum函數實現雙精度實數型陣列sum函數功能
5. 2. 2 用dasum函數實現雙精度復數型陣列sum函數功能
5. 3 用BLAS實現MATLAB中賦值功能
5. 3. 1 用dcopy函數實現雙精度實數型陣列賦值功能
5. 3. 2 用zcopy函數及復數指針實現雙精度復數型陣列賦值功能
5. 4 用BLAS實現MATLAB中z=sum x. *y 功能
5. 4. 1 用ddot函數實現雙精度實數型矢量的z=sum x. *y 功能
5. 4. 2 用zdotu函數及復數指針實現雙精度復數型矢量的z=sam x. *y 功能
5. 5 用BLAS實現MATLAB中z=alpha*x y功能
5. 5. 1 用daxpy函數實現雙精度實數型陣列的z=alpha*x y功能
5. 5. 2 用zaxpy函數及復數指針實現雙精度復數型陣列的z=alpha*x y功能
6 利用LAPACK函數編寫C-MEX函數
6. 1 LAPACK函數介紹
6. 2 用LAPACK實現MATLAB中矩陣求逆
6. 2. 1 用dgetrf和dgetri函數實現雙精度實數型矩陣求逆
6. 2. 2 用zgetrf. zgetri函數及復數指針實現雙精度復數型矩陣求逆
6. 3 用LAPACK實現MATLAB中LU分解
6. 3. 1 用dzetrf函數實現雙精度實數型矩陣LU分解
6. 3. 2 用zgetrf函數及復數指針實現雙精度復數型矩陣LU分解
6. 4 用LAPACK實現MATLAB中SVD分解
6. 4. 1 用d8esvd函數實現雙精度實數型矩陣SVD分解
6. 4. 2 用zgesvd函數及復數指針實現雙精度復數型矩陣SVD分解
6. 5 用LAPACK實現MATLAB中特征分解
6. 5. 1 用dgeev函數實現雙精度實數型矩陣特征分解
6. 5. 2 用zgeev函數及復數指針實現雙精度復數型矩陣特征分解
6. 6 用LAPACK實現MATLAB中del功能
6. 6. 1 用d8etrf函數實現雙精度實數型矩陣det功能
6. 6. 2 用zgetrf函數及復數指針實現雙精度復數型矩陣det功能
6. 7 用LAPACK實現MATLAB中chol分解
6. 7. 1 用dpotrf函數實現雙精度實數型矩陣chol分解
6. 7. 2 用zpotrf函數及復數指針實現雙精度復數型矩陣chol分解
7 靈活編寫C-MEX函數的方法
7. 1 復數complex結構
7. 1. 1 雙精度復數complex結構
7. 1. 2 mat2complex函數
7. 1. 3 complex2mat函數
7. 1. 4 mxArray2complex函數
7. 1. 5 complex2mxArray函數
7. 2 用zdotu函數及復數結構指針實現MATLAB中z=sum x. *y 功能
7. 2. 1 程序代碼
7. 2. 2 分析
7. 2. 3 編譯鏈接與測試
7. 3 用zaxpy函數及復數結構指針實現MATLAB中z=alpha*x y功能
7. 3. 1 程序代碼
7. 3. 2 分析
7. 3. 3 編譯鏈接與測試
7. 4 建立自已的函數庫
8 用INTELMKL編寫C-MEX函數
8. 1 IntelMKL介紹
8. 2 IntelMKL庫函數的鏈接方法
8. 2. 1 靜態(tài)鏈接
8. 2. 2 動態(tài)鏈接
8. 3 用IntelMKL及復數結構指針實現MATLAB中2=sum x. *y 功能
8. 4 用IntelMKL及復數結構指針實現MATLAB中z=alpha*x y功能
附錄
附錄1:C-MEX函數的語法錯誤示例
附錄2:MX庫函數
附錄3:MEX庫函數
參考文獻