General Problem Solving Methodology
Download
Report
Transcript General Problem Solving Methodology
EGR 106 – Week 5 – 2-D Plots
Question:
Answer:
Why do engineers use plots?
To analyze, visualize, and present data.
Matlab has many useful plotting options available!
We’ll review some of them today.
Textbook chapter 5, pages 107-135 (skip 5.2)
Recall the Week 1 problem:
colon and dot
notation for
arrays
xv = –3:0.1:3;
yv = xv.^3 – 5*xv.^2 + 4;
standard form
plot(xv,yv)
for plot
xlabel('value of x')
ylabel('value of y')
annotation tools
title('Problem 10')
text(0,1, 'egr106 week 1')
default is
Figure 1,
blue lines,
and small
text
scales are
automatic
Matlab has interactive tools for modifying
plots
Click on the arrow to start interaction
Double click on some part of the figure to initiate choices
Modify text:
Or the lines themselves:
So, the property editor is like a spreadsheet’s
tools, but…..
–
–
is limited to a single figure
is tedious to repeat for other plots
Command line manipulation is available
through optional additional arguments:
plot(x,y, 'linespec' , 'Propname' , PropValue )
–
–
line specifiers: color, line type, markers for data
property name and value: thickness, size, etc
Line Specifiers
plot(x,y, ' r : d ' )
red
dotted line
diamonds
The order is not
important !
General form: plot(x,y, '
')
Line type:
Color:
k black
r red
b blue
g green
y yellow
c cyan
w white
m magenta
Symbol:
. point
o circle
x x-mark
s square
d diamond
etc.
- solid
: dotted
-- dashed
-. dash-dot
Line Properties and Values
plot(x,y, 'linewidth',5 )
line width
is 5 “points”
General form: plot(x,y, ' ',value)
Properties:
linewidth
markersize
markeredgecolor
markerfacecolor
Value: varies with each property
sizes in points
colors as strings
Can have
multiple pairs !
Example:
plot(x,y, '- k o' , 'LineWidth' , 3 , 'MarkerSize', 6,…
'MarkerEdgeColor','red','MarkerFaceColor','green')
Multiple Plots on the Same Axes
Plot allows multiple sets
of arrays and line
specifiers:
Note colors rotate
Can also use hold to
freeze the plot
Now, note colors
Two Useful Commands
figure
–
–
alone it opens a new window
figure(n) takes you to window n
ginput(1)
–
–
–
creates crosshairs on the screen
returns (x,y) location of cursor at mouse click
ginput(n) returns n pairs of locations
Formatting Plots – Adding Text
Week 1:
– xlabel( 'string' )
– ylabel( 'string' )
– title( 'string' )
– text( x, y, 'string' )
New:
– gtext( 'string' ) – cursor controlled
– legend( 'string1', … 'stringn', loc)
Can add greek letters, sub and superscripts
E.g.
gtext( '\beta_1 x^2' )
Text properties allow manipulation of the look
E.g.
gtext( 'cosine' , 'fontsize', 20, 'rotation', 45,
'color' , 'red', )
Formatting Plots – The Axes
Adding a grid
grid
Setting the axis limits:
axis( [ xmin xmax ymin ymax ] )
E.g.
Can plot on
logarithmic axes
using:
semilogx(x,y)
semilogy(x,y)
loglog(x,y)
Note – negative
data is ignored
Figure Files (not in the text)
Save to create a .fig file
Figures outside Matlab (not in the text)
Print them:
Copy for pasting
Multiple Axes in One Figure - Subplot
subplot(2,2,1)
plot(x1,y1)
subplot(2,2,2)
etc.
Argument is rows,
columns, choice
Other Types of 2-D Plots - Polar
90
x = 1:100;
r = log10(x);
t = x/10;
2
120
60
1.5
1
150
30
0.5
polar( t, r )
180
magnitude
angle in radians
0
210
330
240
300
270
Vertical and horizontal bar plots, stem and
stair plots, pie and compass plots:
1
1
0.9
9%
14%
0.9
0.8
0.8
0.7
0.7
0.6
0.6
18%
0.5
0.5
0.4
0.4
36%
0.3
0.3
0.2
0.2
0.1
0.1
0
-1.5
-1
-0.5
0
0.5
1
1.5
0
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
23%
90
1.5
1
60
1
0.9
1
1.5
120
150
30
0.8
0.5
0.5
0.7
0
180
0
0.6
-0.5
0.5
210
330
-1
0.4
-1.5
240
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.3
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
300
270
Histograms:
Other Notes
Line specifiers, properties, axis, grid, … work
on many of the plot types
Most of these tools have additional features
– use the help function
3-dimensional plots are available (chapter 9)
with viewpoint options
40
30
40
20
20
10
0
-1
0
1
0.5
1
-1
-0.5
0.5
0
-0.5
0
0
0
-0.5
-0.5
-1
0.5
0.5
-1
1
1
1
0.5
0
-0.5
-1
2
1
2
1
0
0
-1
-1
-2
-2
For array arguments:
–
–
plot(x_array, y_array)
plots column by column
cycles through colors
For a single argument, plot(x):
–
–
plots imaginary versus real if x is complex
plots x versus index if x is real
Diffusion and Temperature - Plots
Diffusion increased with temperature
It is activation controlled so follows:D=Do exp(-E/kT)
Where D = Diffusivity(m2/sec)
Do = Constant
E = activation energy
k = Boltzman’s Constant
T = temperature in oK
k= 13.8x10-24 J/atom.K
lnD=lnDo – Q/RT
Q – cal/mole
R – 1.987 cal/mole.K
y= c +mx
Slope = Q/R if ln D plotted against 1/T
Fun stuff (not in the text):
–
Handle graphics – low-level control
–
GUIs – high level interfaces