MATLAB与C混合编程

1、Matlab中安装Mex工具。

方法:在Matlab中执行mex -setup命令,在提示下选择编译器,并设置编译器(在提示信息中选择)即可。

2、在Microsoft VC++ 6.0中设置环境变量。

方法:工具——>选项——>目录

Include files中加入以下路径:C:\Program Files\MATLAB\R2014a\extern\include

Library files中加入以下路径:C:\Program Files\MATLAB\R2014a\extern\lib\win32\microsoft

3、建立mexAdd项目,编写mexAdd函数,具体程序如下:

#include<iostream>
#include "mex.h"//添加头文件mex.h
using namespace std;
double add(double x,double y)
{
	return x+y;
}
//添加接口函数mexFunction()
//nlhs:number of left hand size parameters,即Matlab调用语句左边的变量的个数,实际就是需要返回给Matlab的返回值变量有多少个。
//plhs:pointer of left hand size parameters,即函数返回参数的指针。但它是一个指针数组,每个元素是个指针,每个指针指向一个数据类型为mxArray的返回参数。
//nrhs:number of right hand size parameters,即Matlab调用语句右边的变量个数。
//prhs:pointer of right hand size parameters,即Matlab右边参数的指针数组。
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
	double *a;
	double b,c;
	plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL);
	a=mxGetPr(plhs[0]);
	b=*(mxGetPr(prhs[0]));
	c=*(mxGetPr(prhs[1]));
	*a=add(b,c);
}

4、在Microsoft VC++ 6.0中对编写的程序进行编译,编译通过即可。

5、Matlab中编译写好的.cpp文件。

方法:切换打到mexAdd工程项目目录下,在Matlab中输入mex mexAdd.cpp即可。

6、Matlab调用Micros VC++ 6.0编写的接口函数。

7、方法:mexAdd(0.3,0.2)





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值