以下是代码,但注意INP未给出,运行时,只需将INP,有此内容的M文件以及EPANET源文件中.h和.dll放入即可。
我的MATLAB版本是2012的。
.m文件的内容
%计算压力影响系数矩阵
clc;
clear all;
close all;
pressure_new=[];
P_impactmatrix=[];
basedemand_new=[];
errcode=loadlibrary('epanet2.dll','epanet2.h');%加载EPANET文件
errcode=calllib('epanet2','ENopen','fengxian.inp','fengxian.rpt','');%打开inp文件
nodenum=0;%nodenum是总节点数目,可以赋予任意值,可以赋予任意值
[errcode,nodenum]=calllib('epanet2','ENgetcount',0,nodenum);%获取总节点数目,注意获取数值的方式,两边要有相同的参数nodenum,也可以不同
%0代表获取总节点数目的代码,左边的nodenum为返回值的存储变量,右边nodenum为初始值。
tanknum=0;%tanknum是水源节点数目,可以赋予任意值,但要获取水源节点数目必须初始化[errcode,tanknum]=calllib('epanet2','ENgetcount',1,tankn