This is the figure that your code generates:
"All of the lines have color magenta (last value in ps)"
No they do not. You plot multiple lines in the same location and the top line is always magenta, and covers all of the other lines up. Your plot does not have 6 magenta lines on it, as you think, it actually has 126 lines using every color that you have plotted with:
>> C = get(gca,'Children');
>> numel(C)
ans =
126
>> all(strcmpi(get(C,'Type'),'line'))
ans =
1
>> M = cell2mat(get(C,'Color'));
>> unique(M,'rows')
ans =
0 0 0
0 0 1
0 1 0
1 0 0
1 0 1
1 1 0
You see, every color that you used is still there, but you covered them up plotting magenta lines over them. "Each line should have color defined in ps": I just showed you that they do!
The problem is not MATLAB, the problem is that you expect to see lines that are underneath other lines. It seems that you really just want to plot the matrix Fplot, but you are making everything way too complicated by plotting inside the loop. By doing this you have plotted the matrix while you are still calculating its values. Just move the plot command outside the loop and plot the entire matrix once all the values have been calculated:
x=1:10;
qqq=1;
for j=0:5;
b=j;
Fplot(:,qqq)=x+b;
qqq=qqq+1;
end
plot(x,Fplot)
which generates this figure:
If you want to change the colors then I would recommend that you use the ColorOrder property, exactly as I explained in my earlier comment:
axes('ColorOrder',cool(size(Fplot,2)), 'NextPlot','replacechildren')
plot(x,Fplot)