Problem with my function
1 次查看(过去 30 天)
显示 更早的评论
I have a fitness function as shown below.
function z=sample_fit(r)
Flag=0;
while ~Flag
//take inputs from user
Flag=1;
end
//process the inputs
The above function is called for n times by a GA solver. The problem is that, use of flag in the function is useless as it is always set to zero on every iteration. I want the user to be requested for input only once in the first iteration and for rest of the iterations it will use the values provided in the first iteration.
0 个评论
回答(1 个)
per isakson
2014-7-9
If in the first iteration the word, iteration, means call of the function, sample_fit, see persistent, Define persistent variable
2 个评论
per isakson
2014-7-9
If you make a simple example to try this construct you will find that it doesn't work. Flag=0 (btw: I prefer Flag=false) will be executed every time; nothing achieved with persitent.
See first example in documentation of persistent. You need something like
if isempty( Flag )
Flag = false;
end
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!