VC++与Matlab的一点点理解

原创 2006年05月29日 17:22:00

一:通过C或C++调用MATLAB引擎函数
1.引用MATLAB函数库engine.h文件,首先启动MATLAB引擎(engOpen)
2.定义数据结构mxAarray* Test=NULL,再把参数转化为矩阵的形式Test=mxCreateDoubleMatrix(1,size,mxREAL)。
给变量参数取名mxSetName(Test,"Test"),把数据拷到矩阵中memcpy( , , )。
3.将转化的参数传递到引擎空间engPutArray(),然后就可进行运算engEvalString(ep,str),如果设置engOutputBuffer(ep,buffer,size),运行的结果就会存储到所设置的缓存buffer中(就是在MATLAB运行完后所有的..).
4.取出引擎中的数据,也就是运行结果result=engGetArray(ep,""),Data=mxGetPr(result),以供后续处理。
5.engClose关闭引擎,释放内存mxDestroyArray()。

二:以MATLAB为主 (MATFile *pmat)
1.定义数组结构mxArray *pa,把数据参数转化为矩阵pa=mxCreateDoubleMatrix( , ,mxREAL),为数据矩阵命名mxSetClassName(pa,"name")。打开一个文件pmat = matOpen(file, "w")
2.把数据参数设置成局部或者全局变量,然后把要使用的数据拷到矩阵中memcpy((void *)(mxGetPr(pa)),(void *)数据数组,siziof(数据数组)),把数据矩阵写到点mat格式文件中matPutVariable(pmat,"LocalDouble", pa1),然后释放内存mxDestroyArray(pa)。(1,2步骤以C语言写用来接收数据并生成MATLAB可用的.mat格式文件)
3.打开MATLAB程序,载入.mat文件load(),数据就读到了MATLAB工作内存空间了(workspace),然后就可进行计算了。运行完结果保存使用save()保存为.mat格式文件。如果要处理的数据是图片可以使用imread()函数读入图片,然后就可以使用图片处理函数进行处理,处理后图片可写成所需要的格式imwrite('')或者save('')成.mat文件格式,存到磁盘上。

相关文章推荐

MATCOM在VC++与MATLAB混合编程中的应用

摘要:介绍了使用MATCOM实现VC++与MATLAB混合编程的优势和方法,并给出了实例。  关键词:MATCOM、MATLAB、混合编程  引言  MATLAB是MathWorks公司于1982年推...

VC++2010 与 MATLAB 混合编程

由于项目需要,不得不用MATLAB混合编程,看了很多的帖子和博客,昨天搞了一整天,今天又忙了一上午才基本上搞定。     为了与win7兼容,matlab应该安装2010以上的版本,我用...

VC++中调用MATLAB *.m函数编译后的动态链接库

      作为MATLAB的初学者,我最近在看如何实现MATLAB与VC的混合编程,查了不少资料,也借鉴了网上很多的宝贵经验和建议,现我把这份集合大家集体智慧的过程写下来,供大家参考,以希望能和高手...

VC++与MATLAB接口编程方法与实现

VC++与MATLAB接口编程方法与实现 摘 要 本文简介了VC++和MATLAB特点,探讨了MATLAB与VC++接口编程的三种方法,并详细论述了MCC和C...

vc++调用matlab

Visual C++是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快。但在科学计算方面函数库显得不够丰富、读取、显示数据图形不方便。Matlab是一款将数值分析、矩阵计算、信号处理...

VC++和Matlab混合编程

以下文章转载自http://www.cnblogs.com/mfryf/archive/2012/02/16/2354295.html 一、前言         Matlab是由Mathw...

matlab和VC++混合编程(mex方法)

第一节、用c编写mex程序[开篇] 用C编写mex程序     大家都知道,matlab是一种解释型的编程环境,也就是说,跟以前的basic一样,是读 一句执行一句的。这样做可以很方便的...

matlab与VC++进行混合编程

为了实现快速地理系统的或者其它工程性的科学平台等等: 我们想了很多方案: 方案一:用OpenGL与C++,选一个开发平台如:Qt,Vc++,进行开发; 方案二:用matlab与VC++进行混合编...

VC++和MATLAB的混合编程之神经网络工具箱

1.通过Matlab Engine方式   Matlab Engine是指一组Matlab提供的接口函数,支持C语言, Matlab Engine采用C/S(客户机/服务器)模式,Matlab作为后...

VC++通过COM调用Matlab程序

实际上VC与matlab的接口实现方法有很多种,matcom只是其中一种,本文再介绍一种比较容易实现的方法:COM接口方法。COM(Compponent Object Model组件对象模型)是一项比...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VC++与Matlab的一点点理解
举报原因:
原因补充:

(最多只允许输入30个字)