matlab和通达信,通达信dllmatlab

67a589645d328930252c52b850c82ed5.png

在Matlab的Help中搜索"Calling Functions in Shared Libraries"即可看到关于此内容的帮助文档。

下面以一个简单的小例子演示Matlab调用DLL的过程:

1、编译器准备

在Matlab的命令窗口输入:mex -setup

选择你的编译器,我的是:

[2] Microsoft Visual C++ 2008 SP1 in c:\Program Files\Microsoft Visual Studio 9.0

2、编写你自己的DLL

在Visual Studio 2008中新建一个Win32的Dll工程,不妨设名字为MatlabDllTest

编辑MatlabDllTest.cpp:

#include "MatlabDllTest.h"

double add(double x, double y)

{

return (x+y);

}

编辑MatlabDllTest.h:

#ifndef MATLABDLLTEST_H

#define MATLABDLLTEST_H

#ifdef __cplusplus

extern "C"

{

#endif

__declspec(dllexport) double add(double x, double y);

#ifdef __cplusplus

}

#endif

#endif

3、加载DLL:把编译连接之后产生的MatlabDllTest.dll和MatlabDllTest.h文件拷贝到Matlab的当前工作目录下,输入

loadlibrary('MatlabDllTest','MatlabDllTest.h');

(一定要有这步,如果dll不成功,会显示错误原因)

4、查看DLL中导出的函数

libfunctions MatlabDllTest -full

-full选项会列出导出函数的详细输入和输出参数,这是输出信息如下:

Functions in library MatlabDllTest:

double add(double, double)

5、调用函数

calllib('MatlabDllTest', 'add', 1.3, 4.6)

此时就会输出正确的结果

ans =

5.9000

总结:这个例子比较简单,只是为了演示整个过程,如果真的用到了Matlab来调用外部DLL的这种方式的话,就要注意DLL工程要符合Matlab的要求,详细信息请自己查看Matlab的帮助文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>