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文件格式,存到磁盘上。

精通VC与Matlab联合编程(六)

作者:邓科下载源代码  Matlab C/C++函数库是Matlab扩展功能重要的组成部分,包含了大量的用C/C++语言重新编写的Matlab函数,主要包括初等数学函数、线形代数函数、矩阵操作函数、数...
  • zhaodengzhong
  • zhaodengzhong
  • 2008年03月26日 23:32
  • 786

基于COM接口的VC++与MATLAB混合编程

基于COM接口的VC++与MATLAB混合编程 http://www.cppblog.com/3522021224/archive/2007/06/11/26046.html 0  引言    ...
  • pinellina
  • pinellina
  • 2015年12月02日 13:31
  • 1287

VC和MATLAB混合开发经验总结

作者:朱金灿来源:http://blog.csdn.net/clever101 前期准备:       1.请确认机器中已经安装Matlab主程序或(MCR)MATLAB Compiler Runti...
  • clever101
  • clever101
  • 2014年08月31日 23:39
  • 4138

VC与Matlab混合编程(在VC中调用DLL)

Matlab 作为当今世界上应用最为广泛的数学软件, 具有非常强大的数值计算、数据分析处理、系统分析、图形显示甚至符号运算的功能。已经在如生物工程,图像处理,语音处理,雷达探空,声纳探水,地震探地,以...
  • hahalxp
  • hahalxp
  • 2010年03月25日 12:29
  • 24818

VC+Matlab混合编程经验总结

      用过matlab的人都会惊叹它在数值处理和绘图方面的强大,可一般用户使用它还是感到有些难度的。能不能利用matlab做出让一般用户都能操作、界面简单友好的程序出来呢?本文尝试的就是一种把m...
  • sworder_001
  • sworder_001
  • 2006年12月11日 21:48
  • 2058

VC++与Matlab的一点点理解

一:通过C或C++调用MATLAB引擎函数1.引用MATLAB函数库engine.h文件,首先启动MATLAB引擎(engOpen)2.定义数据结构mxAarray* Test=NULL,再把参数转化...
  • zzzzluo
  • zzzzluo
  • 2006年05月29日 17:22
  • 1203

VS下调用Matlab引擎

VS2008是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快。但在科学计算方面函数库显得不够丰富、读取、显示数据图形不方便。Matlab是一款将数值分析、矩阵计算、信号处理和图形显...
  • qq_16149777
  • qq_16149777
  • 2016年07月19日 09:00
  • 3135

对String的深入理解

我们先来看一段代码:package com.ykp.test;public class StringTest { public static void main(String[] args) ...
  • ghgzczxcvxv
  • ghgzczxcvxv
  • 2016年03月12日 14:54
  • 505

VC++和Matlab混合编程(在VC中调用将.m文件生成的DLL)

这是师兄们在实际项目中用到的关于VC++和MATLAB混合编程的实例。最近自己在瞎鼓捣,也就研究了下这块,本想写篇博文,但网上这块的资料还算是比较多,写的也比较具体,想着不重复劳动,因此我也就不写了。...
  • u010412719
  • u010412719
  • 2015年08月25日 20:01
  • 1256

Matlab与VC混合编程之三

Matlab与VC混合编程之三 1. 有没有优雅的使用方式? 在《Matlab与VC混合编程之二》中我们学会了如何使用向量或者矩阵在VC与Matlab COM组件之间传递参数。在第二章的实现中,标量和...
  • zhangkunhn
  • zhangkunhn
  • 2013年07月01日 23:59
  • 625
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VC++与Matlab的一点点理解
举报原因:
原因补充:

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