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