chapter 5 - plotting

of 88 /88
Matlab for Engineers 100 200 300 400 500 100 200 300 400 500 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -5 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 R ate ofC hange tim e, hour Rate of tem perature change, degrees/hour Plotting Chapter 5 1 2 3 4 5 0 2 4 6 8 A bargraph ofvectorx 1 2 0 2 4 6 8 A bargraph ofm atrix y 1 2 3 4 5 1 2 0 5 10 A three dim ensional bargraph 5% 10% 25% 20% 40% A pie chartofx

Author: siva-gopal

Post on 08-Jan-2017

54 views

Category:

Documents


0 download

Embed Size (px)

TRANSCRIPT

PlottingUsing subplots
Matlab for Engineers
Two Dimensional Plots
The xy plot is the most commonly used plot by engineers
The independent variable is usually called x
The dependent variable is usually called y
Matlab for Engineers
Consider this xy data
Time is the independent variable and distance is the dependent variable
time, sec
Distance, Ft
Define x and y and call the plot function
You can use any variable name that is convenient for the dependent and independent variables
Matlab for Engineers
Matlab for Engineers
Engineers always add …
Often it is useful to add a grid
Matlab for Engineers
Matlab for Engineers
Creating multiple plots
Matlab overwrites the figure window every time you request a new plot
To open a new figure window use the figure function – for example
figure(2)
hold on
Freezes the current plot, so that an additional plot can be overlaid
When you use this approach the additional line is drawn in blue – the default drawing color
Matlab for Engineers
Matlab for Engineers
The second line is also drawn in blue, on top of the original plot
To unfreeze the plot use the hold off command
The hold on command freezes the plot
Matlab for Engineers
You can also create multiple lines on a single graph with one command
Using this approach each line defaults to a different color
Matlab for Engineers
Each set of ordered pairs will produce a new line
Matlab for Engineers
Variations
If you use the plot command with a single matrix, Matlab plots the values versus the index number
Usually this type of data is plotted on a bar graph
When plotted on an xy grid, it is often called a line graph
Matlab for Engineers
Matlab for Engineers
If you want to create multiple plots, all with the same x value you can…
Use alternating sets of ordered pairs
plot(x,y1,x,y2,x,y3,x,y4)
z=[y1,y2,y3,y4]
Matrix of Y values
Matlab for Engineers
The peaks(100) function creates a 100x100 array of values. Since this is a plot of a single variable, we get 100 different line plots
Matlab for Engineers
Plots of Complex Arrays
If the input to the plot command is a single array of complex numbers, Matlab plots the real component on the x-axis and the imaginary component on the y-axis
Matlab for Engineers
Matlab for Engineers
Multiple arrays of complex numbers
If you try to use two arrays of complex numbers in the plot function, the imaginary components are ignored
Matlab for Engineers
Matlab for Engineers
Line, Color and Mark Style
You can change the appearance of your plots by selecting user defined
line styles
Matlab for Engineers
Line Type
For example
if you don’t specify style, a default is used
line style – none
mark style – none
the o means use a circle to mark each point
the letter k indicates that the graph should be drawn in black
(b indicates blue)
Matlab for Engineers
Matlab for Engineers
specify the drawing parameters for each line after the ordered pairs that define the line
Matlab for Engineers
Matlab automatically scales each plot to completely fill the graph
If you want to specify a different axis – use the axis command
axis([xmin,xmax,ymin,ymax])
Lets change the axes on the graph we just looked at
Matlab for Engineers
Matlab for Engineers
Annotating Your Plots
title
Matlab for Engineers
Matlab for Engineers
Improving your labels
You can use Greek letters in your labels by putting a backslash (\) before the name of the letter. For example:
title(‘\alpha \beta \gamma’)
creates the plot title
title(‘x^{2}’)
Matlab for Engineers
Subplots
The subplot command allows you to subdivide the graphing window into a grid of m rows and n columns
subplot(m,n,p)
rows
columns
location
Matlab for Engineers
Polar Plots
Logarithmic Plots
Bar Graphs
Pie Charts
Function Plots
Polar Plots
Some functions are easier to specify using polar coordinates than by using rectangular coordinates
For example the equation of a circle is
y=sin(x)
Matlab for Engineers
A logarithmic scale (base 10) is convenient when
a variable ranges over many orders of magnitude, because the wide range of values can be graphed, without compressing the smaller values.
data varies exponentially.
Matlab for Engineers
semilogy – uses a log10 scale on the y axis
semilogx – uses a log10 scale on the x axis
loglog – use a log10 scale on both axes
Matlab for Engineers
semilogx – log scale on the x axis
semilogy – log scale on the y axis
loglog – log scale on both axes
Matlab for Engineers
Matlab for Engineers
Bar Graphs and Pie Charts
Matlab includes a whole family of bar graphs and pie charts
bar(x) – vertical bar graph
barh(x) – horizontal bar graph
pie(x) – pie chart
Histograms
A histogram is a plot showing the distribution of a set of values
Matlab for Engineers
X-Y Graphs with Two Y Axes
Sometimes it is useful to overlay two x-y plots onto the same figure. However, if the order of magnitude of the y values are quite different, it may be difficult to see how the data behave.
Matlab for Engineers
Scaling Depends on the largest value plotted
Its difficult to see how the blue line behaves, because the scale isn’t appropriate
Matlab for Engineers
The plotyy function allows you to use two scales on a single graph
Matlab for Engineers
Function Plots
Function plots allow you to use a function as input to a plot command, instead of a set of ordered pairs of x-y values
fplot('sin(x)',[-2*pi,2*pi])
range of the independent variable – in this case x
Matlab for Engineers
Matlab for Engineers
Three Dimensional Line Plots
These plots require a set of order triples ( x-y-z values) as input
The z-axis is labeled the same way the x and y axes are labeled
Matlab for Engineers
Matlab uses a coordinate system consistent with the right hand rule
Matlab for Engineers
Just for fun
try the comet3 function, which draws the graph in an animation sequence
comet3(x,y,z)
If your animation draws too slowly, add more data points
For 2-D line graphs use the comet function
Matlab for Engineers
mesh - meshplot
Both Mesh and Surf
Can be used to good effect with a single two dimensional matrix
Matlab for Engineers
The x and y coordinates are the matrix index numbers
Matlab for Engineers
Using mesh with 3 variables
If we know the values of x and y that correspond to our z values, we can plot against those values instead of the index numbers
Matlab for Engineers
Matlab for Engineers
surf plots are similar to mesh plots
they create a 3-D colored surface instead of an open mesh
syntax is the same
shading interp
shading flat
faceted flat is the default
You can also adjust the color scheme with the color map function
Matlab for Engineers
Contour Plots
Contour plots use the same input syntax as mesh and surf plots
They create graphs that look like the familiar contour maps used by hikers
Matlab for Engineers
To demonstrate these functions lets use a more interesting example
A more complicated surface can be created by calculating the values of z, instead of just defining them
We’ll need to use the meshgrid function to create 2-D input arrays – which will then be used to create a 2-D result
Matlab for Engineers
Matlab for Engineers
Matlab for Engineers
Pseudo Color Plots
Uses the same syntax
The following example uses the built-in Matlab demonstration function peaks
Matlab for Engineers
Matlab for Engineers
Matlab for Engineers
Editing Plots from the Menu Bar
In addition to controlling the way your plots look by using Matlab commands, you can also edit a plot once you’ve created it using the menu bar
Another demonstration function built into Matlab is
sphere
Matlab for Engineers
Once you’ve created a plot you can adjust it using the menu bar
In this picture the insert menu has been selected
Notice you can use it to add labels, legends, a title and other annotations
Matlab for Engineers
Explore the property editor to see some of the other ways you can adjust your plot interactively
Select
Select Inspector from the Property Editor
Change the Aspect Ratio
Matlab for Engineers
If you adjust a figure interactively, you’ll lose your improvements when you rerun your program
Matlab for Engineers
Matlab for Engineers
Matlab will suggest plotting options and create the plot for you
Matlab for Engineers
Saving your plots
Rerun your M-file to recreate a plot
Save the figure from the file menu using the save as… option
You’ll be presented with several choices of file format such as
jpeg
emg (enhanced metafile) etc
Right-click on the figure and select copy – then paste it into another document
Matlab for Engineers
The x-y plot is the most common used in engineering
Graphs should always include titles and axis labels. Labels should include units.
Matlab includes extensive options for controlling the appearance of your plot
Matlab for Engineers
Multiple plots can be displayed in the same figure window
Most common plot types are supported by Matlab including
polar plots
bar graphs
pie charts
Matlab for Engineers
Figures created in Matlab can be stored using a number of different file formats
100200300400500
100
200
300
400
500
00.511.522.533.544.55
-5
-4.5
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
12345
0
2
4
6
8
12
0
2
4
6
8
1
2
3
4
5
1
2
0
5
10
-2
0
2
-2
0
2
-5
0
5
x
Peaks
y
0.2
0.4
0.6
0.8
1
30
210
60
240
90
270
120
300
150
330
180
0
1
2
3
4
5
30
210
60
240
90
270
120
300
150
330
180
0
1
2
3
4
5
30
210
60
240
90
270
120
300
150
330
180
0
2
4
6
8
10
30
210
60
240
90
270
120
300
150
330
180
0
1
2
3
4
5
30
210
60
240
90
270
120
300
150
330
180
0
2
x