Hi guys,
I am not able to run this code. I plan to run this code which will make the 4 values in my DPnew array to be close enough with a certain tolerance percentage. I am using a while loop which works like a do while statement. It is not working all the time though. Sometimes it works and sometimes MATLAB starts to pause and debug the code. What is the issue with it? It is part of an algorithm so changing the formulas for the calculation is not an option.
DPbest = 0.4;B = rand;DPold = [0.2;0.4;0.6;0.8];DPnew = [0;0;0;0];vold = [0;0;0;0];vnew = [0;0;0;0];dataType = 'double'; while truefor i = 1:1:4 f = 0.3 + (0.5-0.3)*B; vnew(i) = vold(i)+(DPold(i) - DPbest)*f; if DPold(i) > DPbest DPnew(i) = DPold(i) - abs(vnew(i)); else DPnew(i) = DPold(i) + abs(vnew(i)); endendvold = vnew; if abs((max(DPnew)-min(DPnew))/max(DPnew)) < 0.1 break; end end
Best Answer