I'm not sure why you want to shorten the code, it is already vectorize and I don't believe it can go so much less than this. Just for fun, here's a very little modified version with 270 characters:
v =-5:0.01:5;
[x1,x2] = meshgrid(v,v);
z1=1./(1+exp((4*x1(:)+x2(:)-1)));
z2=1./(1+exp((5*(x2(:)-x1(:))+2)));
g1= 1./(1+exp((5-5*z2)));
g2= 1./(1+exp((4*z2-4*z1-1)));
[~, al] = max([g1 g2], [], 2);
figure, hold on
plot(x1(al==1),x2(al==1), 'r.');
plot(x1(al==2),x2(al==2), 'k.');
legend('1','2');