darma

时间:2024-08-03 08:40:57编辑:奇事君

matlab如何调用dll文件

在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的帮助文件。


如何向simulink自定义库 添加原件

步骤:

1、创建自定义库。在 Simulink Library Browser 窗口中,选择菜单 File | New -> Library,加入所需的常用模块,并保存(例如:mySimLib.mdl);

2、新建一个slblocks.m,其内容如下:
function blkStruct = slblocks
Browser.Library = 'mySimLib';
Browser.Name = '00_My_Library';
blkStruct.Browser = Browser;
说明:* mySimLib 为自定义库文件的文件名;
* 00_My_Library 为将在 Simlink Library Browser 窗口中显示的名称;
* 注意:不要加任何注释,否则有可能不成功,我就遭遇过失败(系统:Windows XP 英文版,Matlab 版本:R2010a);

3、将 mySimLib.mdl 和 slblocks.m 放在同一个目录下;然后,在 Matlab 主窗口中,选择菜单 File | Set Path...,将该目录 添加到 Matlab 搜索路径中,保存,退出;

4、在 Simulink Library Browser 窗口中,按 F5按键 或选择菜单 View | Refresh Tree View,即可看到自定义库的名称(本例为 00_My_Library)出现在库浏览器中。


巴厘岛木雕村多久能游览完

巴厘岛木雕村的建议建议游玩时间是1小时以下,时长受多个因素影响,仅供参考。拓展信息地址:MAS, Ubud, Gianyar, Bali, 印度尼西亚。开放时间:全天(1月1日-12月31日周一-周日)。简介:巴厘岛的木雕艺术很有风格。木雕村内遍布木雕商店及艺廊,每家商店都开放工作室供游客参观,游客可参观木雕师傅的工作,了解木雕的创作过程。

巴厘岛木雕村的区域

木雕村处于吉安雅,如果去那边旅游找不到景点的具体位置,可以将名字记下来,到时询问当地人即可。 木雕村周边还有很多景点、酒店、餐厅,比如: Pundi-Pundi Grill&Asian Cuisine与木雕村距离2.72km Bebek Bengil Dirty Duck 脏鸭餐厅(乌布总店)与木雕村距离2.83km fair Warung Bale与木雕村距离3.95km 巴厘岛乌布桑卡拉度假村与木雕村距离0.77km 塔曼哈鲁姆小屋酒店与木雕村距离0.84km 巴厘岛德乌布别墅与木雕村距离0.86km 卢丹纳博物馆与木雕村距离1.46km 阿贡拉伊艺术博物馆与木雕村距离2.28km 圣猴森林公园与木雕村距离2.9km。

上一篇:热镀锌设备

下一篇:撑腰 罗志祥