Your best bet is to rely on one of the built-in polar plotting functions to do this. I think the one that is most similar to your needs would be compass
. It essentially plots an arrow pointing from the center to a point (defined in cartesian coordinates) on a polar plot.
theta = deg2rad(130);
% Your speed in m/s
speed = 5;
hax = axes();
c = compass(hax, speed * cos(theta), speed * sin(theta));
% Change the view to orient the axes the way you've drawn
view([90 -90])

Then in order to change the bearing and speed, you simply call the compass
function again with your new bearing/speed.
new_theta = deg2rad(new_angle_degrees);
c = compass(hax, new_speed * cos(new_theta), new_speed * sin(new_theta));
Other polar plotting options include polar
and polarplot
which accept polar coordinates but don't have an arrow head. If you don't like the polar plot you could always go with quiver
on a cartesian axes (making sure you specify the same axes).
Edit
Based on your feedback and request, below is an example of a polar plot of the distance traveled.
% Speed in m/s
speed = 5;
% Time in seconds
time = 1.5;
% Bearing in degrees
theta = 130;
hax = axes();
% Specify polar line from origin (0,0) to target position (bearing, distance)
hpolar = polar(hax, [0 deg2rad(theta)], [0 speed * time], '-o');
% Ensure the axis looks as you mentioned in your question
view([90 -90]);

Now to update this plot with a new bearing, speed, time you would simply call polar
again specifying the axes.
hpolar = polar(hax, [0 theta], [0 speed], '-o');