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

一起学习

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

作者: 殷延伟

下载示例代码1

下载示例代码2

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

在VC中建立一个项目后:

paragraph.gif 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:

栏目中添加:

MSVC,MSWIND

在project-settings-Link-Category-Input-Ignore libraries:栏目中添加:msvcrt.lib

paragraph.gif 2. 添加头文件:(假设matlab文件为x.m)#include "matlab.hpp"

#include x.hpp //如果有从.m编译成.cpp的文件x.hpp 和x.cpp;

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

paragraph.gif 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为生成的链接文件名)

paragraph.gif 4.导入链接库:

#pragma comment (lib, "libmatlb.lib")

#pragma comment (lib, "libmx.lib")

#pragma comment (lib, "libmatpm.lib") // c maths library

paragraph.gif 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);//逆序

}(完)

下载本文示例代码

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值