c++调MATLAB程序代码
2016-08-23
1 0 0
暂无评分
其他
如何获取积分?
Matlab是美国MathWorks公司的产品,是一种以矩阵为基本编程单位的高效数值计算
语言。Matlab集科学计算、图像处理、声音处理于一体,为用户提供了丰富Windows图形界面设计方法,使用户能够在利用其强大数值计算功能的同时设计出友好的图形界面。Matlab已经被证明是在应用数学、物理、工程学和其它涉及复杂数值计算等应用领域中解决问题的优秀工具。Matlab能够在Win95/98、Win2000、Linux和Unix等多种操作系统平台上运行。
C、C++是众多程序员十分喜爱的高级程序设计语言,但其在数值处理分析和算法
工具等方面,效率远远低于Matlab 语言;在准确方便地绘制数据图形方面,Matlab 语
言具有C和C++无法比拟的优势。但Matlab作为一种以解释方式运行的计算机语言,其程序的执行效率较低,而且不能实现端口操作和实时控制。因此,若能将两者结合运用,实现优势互补,将获得极大的效益。为此,MathWorks公司提供了Matlab和C、C++的接口。通过接口,用户既可在C程序中调用Matlab的函数,也可在Matlab中调用C或C++程序,从而实现Matlab和C、C++的混合编程。本文主要讨论如何在C、C++中调用Matlab。
一、过程分析
在C、C++中调用Matlab的主要过程如下所示:
1) 首先调用engOpen函数打开一个Matlab工程。
2) 生成mxArray。
在Matlab中,所有变量类型,如标量、向量、矩阵、字符串、细胞矩阵和结构,都以mxArrays形式来保存,固数据操作都必须通过这些mxArrays来完成。生成mxArray有
两种不同的方式。一是用mxCreate函数来创建矩阵,之后用mxSetName函数对它进行命名.另一种方式是选择将一个自定义的数据结构复制到mxArray中,值得注意的是Matlab在存 储矩阵时是按列序保存的,而在C、C++中是按行序保存的,所以转换时注意分清下标。
3) 调用engPutArray函数将矩阵放入到Matlab工作区中。
4) 通过engEvalString函数向Matlab传递命令,如果成功,函数返回值为此0,否则返回一个非0值
语言。Matlab集科学计算、图像处理、声音处理于一体,为用户提供了丰富Windows图形界面设计方法,使用户能够在利用其强大数值计算功能的同时设计出友好的图形界面。Matlab已经被证明是在应用数学、物理、工程学和其它涉及复杂数值计算等应用领域中解决问题的优秀工具。Matlab能够在Win95/98、Win2000、Linux和Unix等多种操作系统平台上运行。
C、C++是众多程序员十分喜爱的高级程序设计语言,但其在数值处理分析和算法
工具等方面,效率远远低于Matlab 语言;在准确方便地绘制数据图形方面,Matlab 语
言具有C和C++无法比拟的优势。但Matlab作为一种以解释方式运行的计算机语言,其程序的执行效率较低,而且不能实现端口操作和实时控制。因此,若能将两者结合运用,实现优势互补,将获得极大的效益。为此,MathWorks公司提供了Matlab和C、C++的接口。通过接口,用户既可在C程序中调用Matlab的函数,也可在Matlab中调用C或C++程序,从而实现Matlab和C、C++的混合编程。本文主要讨论如何在C、C++中调用Matlab。
一、过程分析
在C、C++中调用Matlab的主要过程如下所示:
1) 首先调用engOpen函数打开一个Matlab工程。
2) 生成mxArray。
在Matlab中,所有变量类型,如标量、向量、矩阵、字符串、细胞矩阵和结构,都以mxArrays形式来保存,固数据操作都必须通过这些mxArrays来完成。生成mxArray有
两种不同的方式。一是用mxCreate函数来创建矩阵,之后用mxSetName函数对它进行命名.另一种方式是选择将一个自定义的数据结构复制到mxArray中,值得注意的是Matlab在存 储矩阵时是按列序保存的,而在C、C++中是按行序保存的,所以转换时注意分清下标。
3) 调用engPutArray函数将矩阵放入到Matlab工作区中。
4) 通过engEvalString函数向Matlab传递命令,如果成功,函数返回值为此0,否则返回一个非0值
c++
matlab
代码
程序
相关源码推荐
MATLAB实现算术编码
0
0
暂无评分
使用FEM工具箱来实现有限元方法的求解
0
0
暂无评分
局部路径规划算法-DWA算法
0
0
暂无评分
enDAQ-Shock-Data-Share-SRS-Blog
0
0
暂无评分
ADC指标测试
0
0
暂无评分
暂无评论