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环境
2. 2. 1 Lcc编译器MATLAB环境配置
2. 2. 2 MSVC 编译器MATLAB环境配置
2. 3 用MATLAB插件在MSVC环境中编写编译链接C-MEX函数
2. 3. 1 MATLAB插件在MSVC环境中的配置
2. 3. 2 C-MEX函数的编写编译链接过程示例
3 C-MEX函数的编写方法
3. 1 C-MEX函数分析
3. 1. 1 C与MATLAB存储方式的区别
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 静态链接
8. 2. 2 动态链接
8. 3 用IntelMKL及复数结构指针实现MATLAB中2=sum x. *y 功能
8. 4 用IntelMKL及复数结构指针实现MATLAB中z=alpha*x y功能
附录
附录1:C-MEX函数的语法错误示例
附录2:MX库函数
附录3:MEX库函数
参考文献