Download presentation
Presentation is loading. Please wait.
Published byJaime Fishwick Modified over 9 years ago
1
CSE 123 Plots in MATLAB
2
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.
3
Example: >>ezplot('x^3-2*x') >> ezplot('x^3-x',[-5 5])
4
>> ezplot('x^2-y^4‘[-5,5,-4,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.
6
Examples: x=1:50; y=sin(x*pi/10)+cos(x*pi/10); plot(x,y) plot(x,y,'--ro') Examples:
7
Example plot(x,y,'-kd', 'MarkerEdgeColor',‘g', 'MarkerFaceColor', ‘r' ) plot(x,y,'-k', 'Linewidth', 5 ) Example
8
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)
9
Plotting multiple plots on the same figure plot(x,y1,’k’,x,y2,’r’) x=1:50; y1=cos(x*pi/10); y2=sin(x*pi/10); plot(x,y1,’k’) hold on plot(x,y2,’r’ )
10
Editing plots with editplot Syntax plotedit on plotedit off
11
2 plots: one above the other = 2-by-1 matrix 4 plots: in a 2x2 array = 2-by-2 matrix subplot command Syntax: subplot (N,M,i) Notes: *This function does NOT create a plot *It HAS to be used BEFORE the plot function !!!! N= number of rows M= number of columns i= current plot number Subplot(2,1,1) Subplot(2,1,2) (2,2,1)(2,2,2) (2,2,3)(2,2,4)
12
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
13
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 text(15,0.8,’y1’) text(20,-0.2,’y2’) Plot features: text and legend legend(‘y1’,’y2’)
14
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.
15
Example: >>x=0:0.05:5; y=sin(x.^2); z=cos(x.^2); plotyy(x,y,x,z)
16
% 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)); >> % Bar Plot of a Bell Shaped Curve x = -2.9:0.2:2.9; bar(x,exp(-x.*x)); >> % Stairstep Plot of a Sine Wave x=0:0.25:10; stairs(x,sin(x)); >> % Errorbar Plot x=-2:0.1:2; y=erf(x); e = rand(size(x))/10; errorbar(x,y,e); >> % Polar Plot t=0:.01:2*pi; polar(t,abs(sin(2*t).*cos(2*t))); >> x = 0:0.1:4; y = sin(x.^2).*exp(-x); stem(x,y)
17
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
18
Logarithmic Plots Example: plot y=e 2x >> x=0:0.1:10; >> y=exp(2.*x); >>plot(x,y) >> semilogy(x,y)
19
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.2t cos (2t) y(t)= e -0.2t sin(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
20
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
21
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) creates a mesh or wireframe plot where x,y and z are 2D arrays of containing x,y,z values at every point, respectively. surf(x,y,z) creates a surface plot, contour(x,y,z)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.
22
Three dimensional plots Example: create the mesh plot of the following function over the interval [x,y]=meshgrid(-4:0.1:4); z= exp(-0.5*(x.^2+0.5*(x-y).^2)); mesh(x,y,z);
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.