使用matlab engine的,比较好用,不过要求目标机器也装有matlab才行。具体的话,可以去找vaa4这个id,看他做过。
=====================
(hplonline)2009.11.10
》》目的:
1.实现快速结果验证
2.方便的矩阵运算
3.方便的绘图模块
》》环境:
VISTA+MATLAB2009a+VC6.0
》》资料:
以安装路径“E:Program FilesMATLABR2009a”为例
MATLAB外部支持文件夹:
E:Program FilesMATLABR2009aextern
matlab自带的c例程:
E:Program FilesMATLABR2009aexternexampleseng_mat
engine.h的位置:
E:Program FilesMATLABR2009aexterninclude
各种lib的位置:
E:Program FilesMATLABR2009aexternlibwin32microsoft
在matlab帮助中输入“C language”即可找到有关MATLAB Engine的一个页面。
从这个页面开始,学习各种关键词,
就能够找到一切你需要的资料。
使用MATLAB Engine一般用两套函数就可以了。
1.engXXXX,关于Engine本身的操作,包括打开/关闭,设置/取得变量,执行语句等等。
2.mxXXXX,关于数据类型mxArray的操作,与MATLAB交互的左右类型全部为mxArray。
》》一个搭建实例
先在VC6的tools->options->directories里添加相关目录
include files:
E:Program FilesMATLABR2009aexterninclude
library files:
E:Program FilesMATLABR2009aexternlibwin32microsoft
做好这些后,如果我们环境一样,
下面的代码应该能够编通并且正常执行,
其中包含了常用的一些函数,
一般来说使用Engine的时候也就用这些了。
代码
#include <stdlib.h>#include <stdio.h>#include <string.h>#include "engine.h"#include "matrix.h"#pragma comment(lib,"libeng.lib")#pragma comment(lib,"libmx.lib")int main(){ Engine *ep; int i , j ; //show how to open MATLAB engine //for remote ones: //engOpen( ADDRESS OF REMOTE SYSTEM ) ; if (!(ep = engOpen("