精通MATLAB混合编程
精通MATLAB混合编程
内 容 简 介
1 混合编程环境的搭建
1.1 MATLAB与C/C++混合编程的优点
1.1.1 MATLAB编程的优缺点
1.1.2 C/C++编程的优缺点
1.1.3 混合编程的优缺点
1.2 混合编程主要方法概述
1.2.1 Visual C++调用MATLAB引擎
1.2.2 基于数据文件交换的方法
1.2.3 基于COM技术的方法
1.2.4 使用MATCOM方法
1.2.5 基于ActiveX控件的方法
1.2.6 使用MATLAB Add-in方法
1.3 Visual C++和MATLAB混合编程环境要求
1.4 Visual C++的安装和配置
1.4.1 Visual C++ 6.0的安装
1.4.2 Visual C++的配置
1.5 MATLAB的安装和配置
1.5.1 MATLAB的安装
1.5.2 MATLAB的配置
1.6 安装和配置的常见问题
1.6.1 Visual C++的安装和配置问题
1.6.2 MATLAB的安装和配置问题
1.7 小结
2 Visual C++开发基础
2.1 C++面向对象程序设计
2.1.1 面向对象语言和方法
2.1.2 类、对象和消息
2.2 C++异常处理机制
2.2.1 错误和异常
2.2.2 异常处理的机制和实现
2.2.3 Visual C++异常处理
2.3 Windows程序内部运行机制
2.3.1 API与SDK
2.3.2 窗口与句柄
2.3.3 消息与消息队列
2.4 动态链接库基础
2.4.1 DLL与进程的地址空间
2.4.2 DLL分类
2.4.3 创建DLL模块
2.5 Visual C++程序编译链接的原理与过程
2.5.1 程序设计编译原理
2.5.2 Visual C++程序编译链接过程
2.6 MFC框架程序
2.6.1 MFC AppWizard
2.6.2 基于MFC的程序框架剖析
2.7 ActiveX控件
2.7.1 概述
2.7.2 ActiveX控件分类
2.7.3 ActiveX控件应用
2.8 Visual C++程序的调试和优化
2.8.1 Visual C++程序调试方法和过程
2.8.2 Visual C++程序优化
2.9 小结
3 MATLAB编程基础
3.1 MATLAB程序流程控制
3.1.1 顺序结构
3.1.2 循环结构
3.1.3 选择结构
3.1.4 分支语句
3.1.5 其他控制语句
3.2 函数句柄
3.2.1 创建和查看函数句柄
3.2.2 使用函数句柄
3.3 变量的检测和限权使用函数
3.3.1 输入/输出变量检测指令
3.3.2 跨空间变量传递
3.3.3 子函数和私用函数
3.4 串(表达式)演算函数
3.4.1 eval
3.4.2 feval
3.5 MATLAB面向对象编程
3.5.1 MATLAB中的类
3.5.2 具有类属性的数据
3.5.3 实现带类方法的操作
3.6 MATLAB的数据类型
3.6.1 变量与常量
3.6.2 数字变量的运算及显示格式
3.6.3 字符串
3.7 M脚本文件和M函数文件
3.7.1 M文件的一般结构
3.7.2 M脚本文件
3.7.3 M函数文件
3.7.4 局部变量和全局变量
3.8 MATLAB程序的调试和优化
3.8.1 MATLAB程序调试方法和过程
3.8.2 MATLAB程序优化
3.9 小结
4 Visual C++调用MATLAB Engine库
4.1 MATLAB Engine概述
4.2 Visual C++使用MATLAB Engine库
4.2.1 设置Visual C++编译环境
4.2.2 启动/关闭引擎
4.2.3 向MATLAB发送命令
4.2.4 显示或隐藏MATLAB窗口
4.3 MATLAB数据类型mxArray
4.3.1 创建mxArray类型数据
4.3.2 删除mxArray类型数据
4.3.3 获取mxArray数据大小
4.3.4 判断mxArray数组类型
4.3.5 操作mxArray数组数据
4.4 应用实例
4.5 小结
5 Visual C++调用MATLAB的C/C++数学函数库
5.1 MATLAB C++数学库概述
5.2 在Visual C++环境下调用MATLAB C++数学库
5.2.1 设置静态链接库
5.2.2 设置C++选项卡中的选项
5.2.3 设置头文件
5.3 mwArray阵列及系统函数的调用
5.3.1 操作矩阵
5.3.2 操作MATLAB mwArray阵列概述
5.3.3 创建MATLAB mwArray阵列的操作
5.3.4 数据阵列的操作
5.3.5 稀疏矩阵阵列的操作
5.3.6 字符型阵列的操作
5.3.7 单元阵列的操作
5.3.8 结构体阵列的操作
5.3.9 调用系统函数
5.4 应用实例
5.5 小结
6 基于数据文件交换的混合编程方法
6.1 MAT文件概述
6.1.1 MAT文件格式
6.1.2 读取MAT文件load
6.1.3 写MAT文件
6.2 Visual C++操作MAT时的环境设置
6.3 用C/C++语言操作MAT文件的API函数
6.3.1 读写MAT文件的API函数简介
6.3.2 打开MAT文件
6.3.3 关闭MAT文件
6.3.4 获得MAT文件中所有阵列的目录
6.3.5 获得MAT文件的C语言文件句柄
6.3.6 从MAT文件中获取一个阵列变量
6.3.7 将阵列变量内容写入MAT文件
6.3.8 获得MAT文件中下一个阵列的数据
6.3.9 从MAT文件中删除一个阵列
6.3.10 将阵列内容写入到MAT文件中
6.3.11 从MAT文件中读取MATLAB阵列头信息
6.3.12 从MAT文件中读取下一个MATLAB阵列头信息
6.4 应用实例
6.4.1 环境设置
6.4.2 在MATLAB中定义两个变量
6.4.3 建立Visual C++工程
6.5 小结
7 基于COM技术的方法实现混合编程
7.1 COM技术概述
7.1.1 COM结构
7.1.2 COM组件的有关概念
7.1.3 COM特性
7.1.4 COM发展前景
7.2 COM技术接口
7.2.1 从API到COM接口
7.2.2 接口定义和标示
7.2.3 用C++语言定义接口
7.2.4 接口描述语言IDL
7.3 使用MATLAB COM编译器生成COM组件
7.3.1 MATLAB COM编译器用法
7.3.2 MATLAB COM编译器产生的COM组件
7.4 在Visual C++中使用MATLAB的COM组件
7.4.1 以早期绑定方式调用COM组件
7.4.2 import指令的使用
7.5 应用实例
7.5.1 创建MATLAB组件
7.5.2 创建Visual C++工程
7.5.3 完善代码
7.6 小结
8 使用MATCOM工具的混合编程
8.1 安装MATCOM
8.2 MATCOM的基础及应用
8.2.1 使用MATCOM C++矩阵库的矩阵类Mm
8.2.2 在Visual C++中使用MATCOM C++矩阵库
8.2.3 MATCOM C++矩阵库的图形和图像显示
8.2.4 MATCOM用于图形显示的函数
8.2.5 MATCOM用于图像显示的函数
8.3 MIDEVA概述
8.4 Visual C++使用MIDEVA的环境设置
8.4.1 添加头文件和添加库文件
8.4.2 添加MIDEVA提供的插件
8.5 应用实例
8.6 小结
9 使用ActiveX技术的混合编程
9.1 ActiveX技术基础
9.1.1 ActiveX的定义
9.1.2 ActiveX的内容
9.1.3 MATLAB支持的ActiveX技术
9.2 利用ActiveX自动控制器实现混合编程
9.2.1 ActiveX自动控制器
9.2.2 ActiveX相关函数
9.2.3 ActiveX对象的创建、事件处理与对象释放
9.2.4 查询和设置ActiveX对象的属性
9.2.5 查询及调用ActiveX组件的方法、事件
9.3 ActiveX自动化服务器
9.3.1 在客户程序中执行MATLAB命令
9.3.2 与客户程序进行数据交换
9.4 应用实例
9.4.1 利用ActiveX自动控制器实现混合编程
9.4.2 利用ActiveX的自动化服务器进行混合编程
9.4.3 利用MATLAB ActiveX引擎进行混合编程
9.5 小结
10 科学运算
10.1 科学运算概述
10.2 混合编程在科学运算的开发原则
10.2.1 Visual C++处理科学运算问题的优缺点
10.2.2 MATLAB处理科学运算的优缺点
10.2.3 混合编程在科学运算的开发原则
10.3 Visual C++和MATLAB在科学运算中的衔接方式
10.3.1 MATLAB与Visual C++混合编程实现方法
10.3.2 MATCOM编译器
10.4 线性方程组求解
10.4.1 MATLAB求解
10.4.2 Visual C++求解
10.4.3 Visual C++和MATLAB混合编程对线性方程组求解
10.5 编程方式不同的对比
10.6 小结
11 图形图像显示
11.1 Visual C++和MATLAB图形图像处理混合编程原则
11.2 Visual C++的图形图像处理及接口设计
11.2.1 Visual C++的图像处理方法
11.2.2 Visual C++图形处理方法
11.2.3 Visual C++和MATLAB图形图像处理的接口设计
11.3 MATLAB图像处理基础
11.3.1 显示图像
11.3.2 查看内存中的图像
11.3.3 图像灰度分布直方图均衡化
11.3.4 图像文件的保存
11.3.5 查看新生成文件的内容
11.4 图像格式与MATLAB图像类型
11.4.1 常用图像格式
11.4.2 MATLAB图像类型
11.4.3 MATLAB图像类型转换
11.5 MATLAB图像显示命令
11.5.1 MATLAB图像的读/写和显示
11.5.2 二进制图像的显示方法
11.5.3 灰度图像的显示方法
11.5.4 索引图像的显示方法
11.5.5 RGB图像的显示方法
11.5.6 磁盘图像的直接显示
11.6 MATLAB图形显示命令
11.7 Visual C++和MATLAB图形图像处理应用实例
11.7.1 Visual C++中调用MATLAB函数画图
11.7.2 利用MATCOM绘制动态曲线
11.7.3 二维和三维曲线绘制综合应用
11.8 小结
12 图像识别
12.1 图像识别的混合编程规则和接口设计
12.1.1 Visual C++和MATLAB图像识别的混合编程原则
12.1.2 Visual C++和MATLAB图像识别的接口设计
12.2 图像识别概述
12.2.1 图像识别的发展阶段
12.2.2 图像识别的基础
12.2.3 图像识别原理
12.3 主要图像识别方法
12.3.1 统计模式的识别方法
12.3.2 结构语句的识别方法
12.3.3 模糊集识别法
12.3.4 神经网络识别法
12.4 图像识别的应用
12.4.1 图像预处理
12.4.2 图像分割
12.4.3 图像识别
12.5 图像识别应用综合实例
12.5.1 新建图像识别M文件
12.5.2 在MATLAB下创建COM组件
12.5.3 Visual C++单击工程中调用COM组件
12.6 小结
13 控制系统模型输入和分析
13.1 MATLAB控制系统工具箱
13.1.1 Simulink
13.1.2 其他解决控制领域问题的工具箱
13.2 控制系统模型输入和分析的混合编程原则及接口设计
13.3 控制系统模型的输入
13.3.1 传递函数模型的输入
13.3.2 零极点增益模型的输入
13.3.3 状态空间模型的输入
13.3.4 系统不同模型之间的转换
13.4 控制系统的分析
13.4.1 系统的时域分析
13.4.2 系统的根轨迹分析
13.4.3 系统的频域分析
13.4.4 系统的稳定性分析
13.5 基于Visual C++和MATLAB的控制系统模型输入和分析
13.5.1 Visual C++界面设计
13.5.2 Visual C++调用MATLAB引擎实现的关键技术
13.5.3 运行结果
13.6 小结
14 控制系统的设计仿真
14.1 控制系统校正器原理
14.1.1 串联校正
14.1.2 反馈校正
14.1.3 复合校正
14.2 控制系统校正器设计和仿真
14.2.1 超前校正设计
14.2.2 滞后校正设计
14.2.3 滞后–超前校正设计
14.2.4 PID校正器
14.3 基于Visual C++和MATLAB的控制系统校正器设计
14.3.1 控制系统校正器的实现方式
14.3.2 控制系统分析界面设计
14.3.3 代码实现
14.3.4 运行结果
14.4 小结
15 信号频谱分析
15.1 信号频谱分析的混合编程规则和接口设计
15.1.1 Visual C++和MATLAB信号频谱分析的混合编程原则
15.1.2 Visual C++和MATLAB信号频谱分析的接口设计
15.2 信号频谱分析的基本概念
15.2.1 周期信号与离散光谱的定义
15.2.2 信号频谱分析和显示原理
15.3 信号FFT频谱分析
15.3.1 数据采样
15.3.2 采样数据导入MATLAB
15.3.3 对采样数据进行频谱分析
15.4 MATLAB频谱分析函数
15.5 Visual C++开发信号FFT频谱分析与显示结果
15.5.1 新建M文件
15.5.2 创建COM组件
15.5.3 Visual C++单击工程中调用COM组件
15.5.4 信号FFT实践及频谱分析
15.6 小结
16 数据采集和分析
16.1 信号和信号处理
16.2 数据采集和分析处理的混合编程原则
16.3 Visual C++的数据采集和分析及接口设计
16.3.1 监控程序中的数据实时采集
16.3.2 基于MSComm控件的串口通信
16.4 信号的采集原理
16.4.1 采样定理
16.4.2 信号的产生
16.4.3 连续时间信号在MATLAB中的运算
16.4.4 连续时间LTI系统的时域分析
16.5 小波理论在信号分析中的应用
16.5.1 小波分析原理
16.5.2 小波在语音信号增强中的应用
16.5.3 小波在语音信号压缩中的应用
16.6 混合编程实例
16.6.1 使用Visual C++和MATLAB混合编程的方式绘制sinc函数波形
16.6.2 数据传输和小波分析示例程序
16.7 小结
17 Visual C++和MATLAB开发齿轮优化设计系统
17.1 优化设计理论
17.2 MATLAB优化设计工具箱
17.2.1 优化工具箱简介
17.2.2 优化工具箱4.x的新特色
17.2.3 优化函数
17.2.4 无约束优化问题
17.2.5 约束优化问题
17.3 Visual C++与绘图软件SolidWorks的接口
17.3.1 SolidWorks的API接口概述
17.3.2 对象分类
17.3.3 几个重要的SolidWorks API对象
17.3.4 使用Visual C++对SolidWorks的二次开发
17.4 齿轮优化设计系统概述
17.4.1 齿轮优化设计系统需求
17.4.2 齿轮优化设计系统设计
17.5 齿轮优化设计系统开发
17.5.1 齿轮优化设计的MATLAB实现
17.5.2 SolidWorks环境内的Visual C++和MATLAB混合编程
17.5.3 齿轮优化设计系统运行
17.6 小结
18 基于Visual C++和MATLAB的汽车ABS系统仿真
18.1 汽车ABS系统工作原理
18.2 MATLAB中建立仿真模型
18.2.1 Simulink建立模型
18.2.2 Simulink模型运行及分析
18.2.3 仿真数据的输入输出设置
18.2.4 解算器(Solver)的设置
18.2.5 Simulink模块的合成与封装
18.3 建立汽车ABS仿真模型
18.3.1 汽车ABS系统数学模型
18.3.2 建立和运行汽车ABS系统仿真模型
18.4 混合仿真过程
18.5 小结
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b3481e4b0cc44b5b4a4c1.png)
思维导图在线编辑链接: