M BUZZ CRAZE NEWS
// general

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?

$\endgroup$ 1

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(:)])]);

graph

Notice here 0 is excluded for otherwise max will give an Inf.

$\endgroup$ $\begingroup$

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$

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy