CSE 123
Plots in MATLAB
Easiest way to plot
Syntax: ezplot(fun)
ezplot(fun,[min,max])
ezplot(fun2)
ezplot(fun2,[xmin,xmax,ymin,ymax])
ezplot(fun) plots the expression fun(x) over the default domain -2pi < x < 2pi.
ezplot(fun,[min,max]) plots fun(x) over the domain: min < x < max.
ezplot(fun2) plots fun2(x,y)= 0 over the default domain -2pi < x <2pi, -2pi < y < 2pi.
Example:
>> ezplot('x^3-x',[-5 5])
>>ezplot('x^3-2*x')
x3-2 x
150
250
200
100
150
100
50
50
0
0
-50
-100
-50
-150
-200
-100
-250
-6
-4
-2
0
x
2
4
6
-150
-5
-4
-3
-2
-1
0
1
2
3
4
5
>> ezplot('x^2-y^4‘[-5,5,-4,4])
x 2-y 4 = 0
4
3
2
y
1
0
-1
-2
-3
-4
-5
-4
-3
-2
-1
0
x
1
2
3
4
5
plot command: Linear 2-D plot
Syntax: plot(X,Y,linespec, ‘PropertyName',PropertyValue, …)
LineWidth - specifies the width (in points) of
the line.
MarkerEdgeColor - specifies the color of the
marker or the edge color for filled markers
(circle, square, diamond, pentagram,
hexagram, and the four triangles).
MarkerFaceColor - specifies the color of the
face of filled markers.
MarkerSize - specifies the size of the marker in
units of points.
Examples:
x=1:50;
y=sin(x*pi/10)+cos(x*pi/10);
plot(x,y)
1.5
1.5
11
0.5
0.5
00
-0.5
-0.5
-1-1
-1.5
-1.50
0
55
10
10
15
15
20
20
25
25
30
30
35
35
40
40
45
45
50
50
55
10
10
15
15
20
20
25
25
30
30
35
35
40
40
45
45
50
50
Examples:
plot(x,y,'--ro')
1.5
1.5
11
0.5
0.5
00
-0.5
-0.5
-1-1
-1.5
-1.50
0
Example
1.5
plot(x,y,'-k', 'Linewidth', 5 )
1
0.5
0
-0.5
-1
-1.5
0
5
10
15
20
25
30
35
40
45
50
Example
plot(x,y,'-kd', 'MarkerEdgeColor',‘g',
'MarkerFaceColor', ‘r' )
1.5
1
0.5
0
-0.5
-1
-1.5
0
5
10
15
20
25
30
35
40
45
50
Plotting multiple plots on the same figure
x=1:50;
y1=cos(x*pi/10); y2=sin(x*pi/10);
plot(x,y1,x,y2)
x=1:50;
y1=cos(x*pi/10); y2=sin(x*pi/10);
plot(x,y1)
hold on
plot(x,y2)
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
0
5
10
15
20
25
30
35
40
45
50
-1
0
5
10
15
20
25
30
35
40
45
50
Plotting multiple plots on the same figure
x=1:50;
y1=cos(x*pi/10); y2=sin(x*pi/10);
plot(x,y1,’k’)
hold on
plot(x,y2,’r’ )
plot(x,y1,’k’,x,y2,’r’)
Editing plots with editplot
Syntax
plotedit on
plotedit off
subplot command
Syntax:
Notes:
subplot(N,M,i)
N= number of rows
M= number of columns
i= current plot number
*This function does NOT create a plot
*It HAS to be used BEFORE the plot function !!!!
2 plots: one above the other
= 2-by-1 matrix
Subplot(2,1,1)
Subplot(2,1,2)
4 plots: in a 2x2 array
= 2-by-2 matrix
(2,2,1)
(2,2,3)
(2,2,2)
(2,2,4)
Plotting multiple plots on the same figure
x=1:50;
y1=cos(x*pi/10);
y2=1000*y1;
plot(x,y1,x,y2,’k’); grid on
subplot(2,1,1)
plot(x,y1); grid on
subplot(2,1,2)
plot(x,y2,’k’); grid on
Plot features: xlabel, ylabel, title, grid
x=1:50;
y1=cos(x*pi/10); y2=sin(x*pi/10);
plot(x,y1,x,y2)
xlabel(‘x’); ylabel(‘y’);
title(‘Example’)
grid on
Plot features: text and legend
text(15,0.8,’y1’)
text(20,-0.2,’y2’)
legend(‘y1’,’y2’)
plotyy 2-D line plots with y-axes on both left and right side
Syntax
plotyy(X1,Y1,X2,Y2)
plotyy(X1,Y1,X2,Y2) plots X1 versus Y1 with y-axis labeling on the
left and plots X2 versus Y2 with y-axis labeling on the right.
Example:
>>x=0:0.05:5;
y=sin(x.^2);
z=cos(x.^2);
plotyy(x,y,x,z)
1
1
0.5
0.5
0
0
-0.5
-1
-0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
-1
5
%% Line Plot of a Chirp
x=0:0.05:5;
y=sin(x.^2);
plot(x,y);
>> %% Bar Plot of a Bell Shaped Curve
x = -2.9:0.2:2.9;
bar(x,exp(-x.*x));
>> %% Errorbar Plot
x=-2:0.1:2;
y=erf(x);
e = rand(size(x))/10;
errorbar(x,y,e);
>> %% Bar Plot of a Bell Shaped Curve
x = -2.9:0.2:2.9;
bar(x,exp(-x.*x));
>> % Polar Plot
t=0:.01:2*pi;
polar(t,abs(sin(2*t).*cos(2*t)));
>> %% Stairstep Plot of a Sine Wave
x=0:0.25:10;
stairs(x,sin(x));
>> x = 0:0.1:4;
y = sin(x.^2).*exp(-x);
stem(x,y)
Logarithmic Plots
commands
semilogx()
plots x data on log axis and y on linear axis
semilogy()
plots y data on log axis and x on linear axis
loglog()
plots x and y on logarithmic axes
Logarithmic Plots
Example: plot y=e2x
>> x=0:0.1:10;
>> y=exp(2.*x);
>>plot(x,y)
>> semilogy(x,y)
4
2.5
5
x 10
10
4
2
10
1.5
10
1
10
0.5
10
3
0
2
1
0
0
1
2
3
4
5
6
7
8
9
10
10
0
1
2
3
4
5
6
7
8
9
10
Three dimensional plots
Three dimensional line plots the simplest form is
plot(x,y,z) x,y,z are arrays of equal size containing the locations of data
points to plot.
Example: x(t)= e-0.2tcos (2t)
y(t)= e-0.2tsin(2t) motion of an insect
t=0:0.1:10;
x=exp(-0.2*t).*cos(2*t);
y=exp(-0.2*t).*sin(2*t);
plot(x,y)
title('\bf 2D plot')
xlabel('\bfx')
ylabel('\bfy')
grid on
Three dimensional plots
instead we could plot the variables with plot3() to preserve the time
information as well as the 2D position of the object.
plot3(x,y,t)
t=0:0.1:10;
x=exp(-0.2*t).*cos(2*t);
y=exp(-0.2*t).*sin(2*t);
plot3(x,y,t)
title('\bf 3D plot')
xlabel('\bfx')
ylabel('\bfy')
zlabel('\bftime')
grid on
Three dimensional plots
surface, Mesh and contour plots: such kind of plots represent data that is
a function of 2D variables. a user must create three arrays of equal size;
Commands:
mesh(x,y,z)
surf(x,y,z)
contour(x,y,z)
creates a mesh or wireframe plot where x,y and z are 2D
arrays of containing x,y,z values at every point, respectively.
creates a surface plot,
creates a contour plot,
[x,y]=meshgrid(xstart:xinc:xend, ystart:yinc:yend) easily create x and y
arrays required for 3D plots
to create a 3D plot use meshgrid to create the arrays of x and y values then
evaluate the function to plot at each of x,y pairs. finally call the above
mentioned functions to create plot.
Three dimensional plots
Example:
create the mesh plot of the following function
z ( x, y ) = e
over the interval
−0.5[ x 2 + 0.5( x − y ) 2 ]
−4 ≤ x ≤ 4 and − 4 ≤ y ≤ 4
[x,y]=meshgrid(-4:0.1:4);
z= exp(-0.5*(x.^2+0.5*(x-y).^2));
mesh(x,y,z);
© Copyright 2025 Paperzz