The reason your points are not connected is that you are plotting them one at a time. You need to create some vectors and plot them all at once. Above the loop, define
g = 0.05:0.02:0.55;
X1 = zeros(size(g)); X2 = X1; X3 = X1;
Then use an index for the loop instead of g:
for ii=1:length(g)
(you don't need a semicolon at the end of a for statement). Inside the loop, replace each g by g(ii), each X1 by X1(ii) etc. Finally, take your plot commands out of the loop and put them at the bottom. Note also that in
plot(g,X1,'*',g,X2,'*-',g,X3,'*-')
you're missing the dash for X1.