I think the issue becomes more clear if you create your quiver plot using the following syntax: quiver(X,Y,U,V)
phase_long=[9 27 45 63 81 99 117 135 153 171 189 207 225 243 261 279 297 315 333 351];
startx = ones(1,5)*9;
starty = [.10, .15,.25,.35,.45];
[x,y] = meshgrid(phase_long,starty);
u_with_mean = 5*ones(5,20);
for i = 1:5
w_with_mean(i,:) = -3*cos(phase_long);
end
quiver(x,y,u_with_mean,w_with_mean,1)
Now let's overlay your streamlines, adding a marker to show where they start.
hold on
scatter(startx,starty)
streamline(gca,x,y,u_with_mean,w_with_mean,startx,starty)
hold off
xlim([9,30])
legend
By zooming in, you'll see that they follow the trajectory at 9. I think your grid is too spaced out for your streamlines. Try refining the grid a little.
phase_long=9:2:351;
[x,y] = meshgrid(phase_long,0:.05:1);
u_with_mean = 5*ones(size(x));
w_with_mean = -3*cos(repmat(phase_long,size(x,1),1));
figure
quiver(x,y,u_with_mean,w_with_mean,1)
% Zoom in to see what is happening
xlim([9 20])
% now add streamlines
hold on
streamline(gca,x,y,u_with_mean,w_with_mean,startx,starty)
hold off



