WHILE Loop using called functions from shared library
2 views (last 30 days)
Show older comments
I am using Matlab with a library called epanet. I am trying to retrieve water quality data from the simulation when tleft=79200. I do not think the loop is set up correctly. If anyone sees any issues with how I have the loop set up, or any suggestions as to how to do it differently, please let me know.
%Run water quality and extract water age data for nodes of interest.
t = 0;
tleft = 1;
age = 0;
index = 9693;
calllib('epanet2','ENopenQ');
calllib('epanet2','ENinitQ',1);
while tleft >0
[error1, t] = calllib('epanet2','ENrunQ',t);
[error2, tleft] = calllib('epanet2','ENstepQ', tleft);
if tleft <= 79200
[errcode, age]=calllib('epanet2','ENgetnodevalue',index, 12, age);
end
end
4 Comments
Guillaume
on 26 Feb 2020
@Peer, this is a 4 year old question, it's unlikely that the OP is still around to tell you if his loop is working or not. In any case, if your problem is generically with calllib and not just calllib when used with this epanet library, then it's a completely unrelared question, so start a new question.
Note that it doesn't work for me is a useless statement if it's not accompanied by
- the code that doesn't work
- a description of what doesn't work actually mean. If you get an error, then we need the full text of the error messge. If you get a different result than what you expected then we need a description of what you expected and what you got instead.
Peer Blumido
on 26 Feb 2020
Hey Guillaume,
yes i have a question to another code and problem. Maybe you can take a look?
Answers (0)
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!