WHILE Loop using called functions from shared library
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Guillaume
2020-2-26
@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
2020-2-26
Hey Guillaume,
yes i have a question to another code and problem. Maybe you can take a look?
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!