MATLAB Plot vertical line
By Joseph Russell •
$\begingroup$
I have a system of equations, about 3 equations, that I need to plot that are dependent on 2 variables, R and z. But one of the equations is R={constant value}. Here's the code:
R = 0:.1:500;
z = 5./R;
z2 = 40./R;
z3 = 20
plot(R, z, R, z2, R, y3)...I don't really know how to get z3 to show up as a vertical line. Any ideas?
2 Answers
$\begingroup$z3 not showing up is because it has different size with R. In plot command two vectors must share the same length.
A simple solution is:
R = 0.1:.1:500;
z = 5./R;
z2 = 40./R;
z3 = 20;
plot(R, z, R, z2)
hold on;
plot([z3 z3], [min([z(:);z2(:)]) max([z(:);z2(:)])]);Notice here 0 is excluded for otherwise max will give an Inf.
There is an excellent answer over on repeated below for convenience. (Please go there an up vote the original answer) ---
There exist an undocumented function graph2d.constantline:
plot(-2:5, (-2:5).^2-1)
%# vertical line
hx = graph2d.constantline(0, 'LineStyle',':', 'Color',[.7 .7 .7]);
changedependvar(hx,'x');
%# horizontal line
hy = graph2d.constantline(0, 'Color',[.7 .7 .7]);
changedependvar(hy,'y'); $\endgroup$