posts - 112, comments - 215, trackbacks - 0, articles - 34
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

在VC中使用MATLAB C/C++函数库

Posted on 2006-12-29 10:52 济公 阅读(2676) 评论(10)  编辑 收藏 引用 所属分类: VCMatlab
MATLAB广泛应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等领域。因此如果在 VC 中对MATLAB进行调用将大大减少编程的工作量、保证程序的准确性,并且继承了V C++ 强大的功能,提高开发效率,本文将介绍了在 VC 中使用MATLAB函数库的具体步骤:

VC 中建立一个项目后:

1.设置:

添加路径:
在project-settings-c/
C++ -category:-preprocessor-Additional include directories:栏目中添加:
D:\MATLAB6P1\EXTERN\INCLUDE,
D:\MATLAB6P1\EXTERN\INCLUDE\CPP,
D:\MATLAB6P1\EXTERN\LIB lib
在project-settings-c/
C++ -category:-preprocessor-preprocessor definitions: 栏目中添加:
MS
VC ,MSWIND
在project-settings-Link-Category-Input-Ignore libraries:栏目中添加:ms
VC rt.lib

2. 添加头文件:(假设matlab文件为x.m)
				#include "matlab.hpp"
#include x.hpp //如果有从.m编译成.cpp的文件x.hpp 和x.cpp;

		
在x.cpp中添加#include "StdAfx.h"

3.在matlab中的编译方法
用mcc命令转化为c/
C++ 代码,命令行参数如下:
生成c文件: mcc –t –L C x.m
生成
C++ 文件: mcc –t –L Cpp x.m
生成动态链接库函数: mcc –t –W lib:y –T link.lib x.m(y为生成的链接文件名)


4.导入链接库
				#pragma comment (lib, "libmatlb.lib")
#pragma comment (lib, "libmx.lib")
#pragma comment (lib, "libmatpm.lib")    // 
				
						C++
				
				 maths library

		
5.参考代码如下:
				double d[] = { 1, 2, 3, 4 };
mwArray A(2, 2, d);

mwArray arrVal,arrVec;
arrVec = eig(&arrVal,A);
double* a = new double[4];
double* b = new double[4];

for (int i=0; i < 4; i++)
{
		a[i] = *(mxGetPr(arrVal.GetData())+i); //正序
		b[i] = *(mxGetPr(arrVec.GetData())+i);//逆序
}
		

Feedback

# re: 在VC中使用MATLAB C/C++函数库  回复  更多评论   

2006-12-29 16:36 by 我的求职信

[url=http://www.koojob.com/zlxzinfo1392.asp]KPI[/url]
今天没白来,学到了

# re: 在VC中使用MATLAB C/C++函数库  回复  更多评论   

2006-12-29 16:46 by E代青蛙
TO:我的求职信
好啊,很长时间不见了,忙啥呢?

# re: 在VC中使用MATLAB C/C++函数库  回复  更多评论   

2006-12-29 16:48 by 我的求职信
楼主这篇帖子真好,要是我什么时候也像楼主一样该多好啊

# re: 在VC中使用MATLAB C/C++函数库  回复  更多评论   

2006-12-29 16:51 by 可行性报告
好难啊....

# re: 在VC中使用MATLAB C/C++函数库  回复  更多评论   

2006-12-30 16:52 by 可行性报告
今天没白来,学到了

# re: 在VC中使用MATLAB C/C++函数库  回复  更多评论   

2007-01-08 13:37 by E代青蛙
To Everyone:
大家好!不好意思,这几天有点事情没时间上来,本想及时给大家一个新年祝福的,看来是有点晚了,呵呵,祝新老朋友在新的一年里:工作顺利!学习进步!!身体健康!!!

# re: 在VC中使用MATLAB C/C++函数库  回复  更多评论   

2010-09-10 14:26 by cosplay
今天没白来,学到了
只有注册用户登录后才能发表评论。