永发信息网

如何在MATLAB平台下调用EPANET的DLL

答案:2  悬赏:10  手机版
解决时间 2021-02-24 13:09
如何在MATLAB平台下调用EPANET的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的帮助文件。
全部回答
使用腾讯电脑管家修复下,打开腾讯电脑管家找到“工具箱”然后“电脑诊所”在搜索栏中搜(dll组件)然后找到遇到的问题选择立即修复就可以了。腾讯电脑管家,是腾讯公司推出的一款免费安全软件,能有效预防和解决计算机上常见的安全风险。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
帮忙找一下含“橙”的对联
内蒙古有哪些草原有圖片可看?
我这两天敢着我下面流黄色的东西
能把帽子给拉上的那衣服叫什么?
蘓氏工艺装饰这个地址在什么地方,我要处理点
济南的的洗浴中心哪一家现在性价比最好求指点
南威软件工程发展公司漳州分公司这个地址在什
浙江大学美术学院简介
月球上能做自由落体运动吗?
天友健康生活馆J1229我想知道这个在什么地方
微博里的视频如何保存在手机上,而且可以发在
【climate怎么读】atlanticclimate怎么读
创锋广告我想知道这个在什么地方
有谁知道小米手机在线铃声有一个铃声是什么?
同样大小,不同材质的颗粒怎么分离?不熔化的
推荐资讯
刘喜窝堡我想知道这个在什么地方
天天香鸭脖王这个地址在什么地方,我要处理点
鼓楼东街风味馆(星茂汇店)我想知道这个在什么
听说北京全聚德有自助了?真的假的?需要好几
2016年2月18日到2017年1月14日是有多少天
身份证没有磁性要什么其他证件可以办理银行卡
为什么我英雄联盟30级了,有了16个英雄,却不
泰和宾馆地址有知道的么?有点事想过去
直流电机的转速与负载是什么关系,求公式解析
曲凯这个名字情缘如何
怎么看手机充值记录
2017年农历六月初九搬家好吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?