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

LYZHANGFENGWU

LYZHANGFENGWU

2016-01-29 12:10

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

在VC中使用MATLAB C/C++函数库
作者: 殷延伟

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/cyuyanjiaocheng/)

下载示例代码1
下载示例代码2

MATLAB广泛应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等领域。因此如果在VC中对MATLAB进行调用将大大减少编程的工作量、保证程序的准确性,并且继承了VC++强大的功能,提高开发效率,本文将介绍了在VC中使用MATLAB函数库的具体步骤:

在VC中建立一个项目后:

1.设置:

添加路径:
在project-settings-c/C++-category:-preprocessor-Additional include directories:栏目中添加:
D:MATLAB6P1EXTERNINCLUDE,
D:MATLAB6P1EXTERNINCLUDECPP,
D:MATLAB6P1EXTERNLIB lib
在project-settings-c/C++-category:-preprocessor-preprocessor definitions: 栏目中添加:
MSVC,MSWIND
在project-settings-Link-Category-Input-Ignore libraries:栏目中添加:msvcrt.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);//逆序}
(完)
展开更多 50%)
分享

猜你喜欢

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

C语言教程 C语言函数
在VC中使用MATLAB C/C++函数库

在C++中使用Access数据库

编程语言 网络编程
在C++中使用Access数据库

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在C/C++算法设计中使用任意位宽

编程语言 网络编程
在C/C++算法设计中使用任意位宽

在Visual C++中使用内联汇编

C语言教程 C语言函数
在Visual C++中使用内联汇编

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在VC中导出C++类

编程语言 网络编程
在VC中导出C++类

在C++ Builder6中使用XML

编程语言 网络编程
在C++ Builder6中使用XML

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash AS3.0实例教程:射击类游戏的制作(二)

Flash AS3.0实例教程:射击类游戏的制作(二)

Flash新手入门教程:金属文字的制作

Flash新手入门教程:金属文字的制作
下拉加载更多内容 ↓