To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016
for p = 4:4:population routes = pop(rand_pair(p-3:p),:); dists = total_dist(rand_pair(p-3:p)); [~,idx] = min(dists); best_of_4_route = routes(idx,:); ins_pts = sort(ceil(n*rand(1,2))); I = ins_pts(1); J = ins_pts(2); for k = 1:4 tmp_pop(k,:) = best_of_4_route; switch k case 2 tmp_pop(k,I:J) = fliplr(tmp_pop(k,I:J)); case 3 tmp_pop(k,[I J]) = tmp_pop(k,[J I]); case 4 tmp_pop(k,I:J) = tmp_pop(k,[I+1:J I]); otherwise end display(best_of_4_route); display(d);
% diary on a_str = sprintf('%e\t',d); fid = fopen('newfile.txt','w'); fprintf(fid, '%s', a_str); fclose(fid);
new_pop(p-3:p,:) = tmp_pop; end
I want to store value of 'best_of_4_route', 'd' for every iteration. The code I have written only overwrite.
No products are associated with this question.
This is only one of many ways (I would suggest pre-locating but I need more of the code) *Before *the for loop, add this line:
And change your the line inside the for loop to
best_of_4_route =[best_of_4_route; routes(idx,:)];
Similar logic for d.