Project 1 - Traveling salesman problem

cities2visit=20;
x=randi(100,cities2visit,1);
y=randi(100,cities2visit,1);
plot(x, y, 'rd');
title('Travelling Salesman Problem');
xlabel('Distance from origin on x axis');
ylabel('Distance from origin on y axis');
% Calculating the distance D of cities from origin(0,0)
D = sqrt(x.^ 2 + y.^ 2);
% Finding nearest city to visit
[minD, minDindex] = min(D);
closestX = x(minDindex);
closestY = y(minDindex);
hold on;
plot(closestX, closestY, 'r*');
line([0, closestX], [0, closestY], 'LineWidth', 2, 'Color', 'g');
% Go from fisrt closest city to next closest city
cityUsed = false(1, cities2visit);
count = 2;
maxIterations = cities2visit;
cityUsed(minDindex) = true;
fprintf('The minimum distance path is:');
fprintf('(%d %d)-->',closestX,closestY);
while sum(cityUsed) <= (cities2visit - 1) && (count <= maxIterations)
previousx = x(minDindex(count - 1));
previousy = y(minDindex(count - 1));
x(cityUsed) = inf;
D = sqrt((x - previousx) .^ 2 + (y - previousy) .^ 2);
[minD, minDindex(count)] = min(D);
closestX = x(minDindex(count));
closestY = y(minDindex(count));
line([previousx, closestX], [previousy, closestY], 'LineWidth', 2, 'Color', 'g');
cityUsed(minDindex(count)) = true;
count = count + 1;
fprintf('(%d %d)-->',closestX,closestY);
end
line([closestX,0], [closestY,0], 'LineWidth', 2, 'Color', 'g');
print('Travelling sales man problem','-djpeg');