„ 1999 bg mobasseri1 9/18/2015 june 2 graphics in matlab- part i basic plotting
Embed Size (px)
TRANSCRIPT

1999 BG Mobasseri 1 04/19/23
June 2
GRAPHICS IN MATLAB- PART I
BASIC PLOTTING

1999 BG Mobasseri 2 04/19/23
PLOTTING A SINGLE ARRAY
The most basic command that puts a graphic on screen is plot
If y is an array, plot(y) simply plots values of y vs. their array index position
Do this:
– t=[0:0.01:1];
– y=cos(2*pi*t);
– plot(y)
Notice numbers on x-axis. They are not time

1999 BG Mobasseri 3 04/19/23
PLOTTING ONE ARRAY AGAINST ANOTHER
If t is one array and y another, plot(t,y) plots y vs. t.
Do this:
– t=[0:0.01:1];
– y=cos(t);
– plot(t,y)

1999 BG Mobasseri 4 04/19/23
Try it!
Plotting one array against another generates creative figures
For example, define your x-array as cos(2(pi)t) and y-array as sin(2(pi)t). Then plot y vs.x. Let t run from 0 to 1 as before
Do the same for 2cos(2(pi)t) vs. 4sin(2(pi)t)

1999 BG Mobasseri 5 04/19/23
Plots via a matrix
The argument of plot can be a matrix. In this case, each column is plotted separately on the same axis. This is a compact way of plotting several graphs on the same axis
Try
– t=0:pi/16/:2*pi;
– x=[cos(t)’,sin(t)’]
– plot(x)
5 8 9 0
3 5 2 3
6 6 5 4
8 4 6 8
⎡
⎣
⎢⎢⎢
⎤
⎦
⎥⎥⎥
each column is plottedseparately vs. position

1999 BG Mobasseri 6 04/19/23
Plotting a matrix against another array
Let Y be a matrix and x be the vector of variables , then
– plot(x,Y) plots columns of Y vs. x on the same graph
Try this
– t=0:pi/16:2*pi;
– Y=[cos(t)’,sin(t)’]
– plot(t’,Y)
5 8 9 0
3 5 2 3
6 6 5 4
8 4 6 8
⎡
⎣
⎢⎢⎢
⎤
⎦
⎥⎥⎥
each column plottedseparately vs. anotherarray

1999 BG Mobasseri 7 04/19/23
Putting multiple plots on the same graph
There are 3 ways to do this. Want to plot 3 data vectors y1,y2 and y3 vs. t
Method 1:
– Y=[y1,y2,y3]
– plot(t,Y) Method 2
– plot(t,y1,t,y2,t,y3) Method 3
– Use hold command

1999 BG Mobasseri 8 04/19/23
RC circuit response
Capacitors charge and discharge following an exponential curve. Plot the following 3 voltages on the same graph for 0<t<5.
v1 =1−e−t
v2 =1−e−2t
v3 =1−e−3t
⎧
⎨⎪
⎩⎪

1999 BG Mobasseri 9 04/19/23
Try it!

1999 BG Mobasseri 10 04/19/23
hold COMMAND
Once hold is turned on, all subsequent plot commands are superimposed on the same axis
hold cycles between on and off.
For example,– plot(t,y1)– hold on– plot(t,y2)– plot(t,y3)– hold off

1999 BG Mobasseri 11 04/19/23
Homework #1
Plot y vs. x over the range x=[-2,2]. In addition to your m-file, save your figure and send it to me
y=1
x−0.3( )2 + 0.01+
1x−0.9( )2 + 0.04
−6

1999 BG Mobasseri 12 04/19/23
Plotting parametric functions- fplot.
You may want to plot a function, rather than an array of numebrs, against a variable.
Example is plotting cos(x). The command is
fplot(‘cos’,[-pi pi])
Note that the function must be known to MATLAB such as sine and cosinefunction x range

1999 BG Mobasseri 13 04/19/23
MULTIPLE PLOTS USING fplot
fplot(‘[sinc(x),sinc(2*x)]’,[-2 2])
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

1999 BG Mobasseri 14 04/19/23
CONTROLLING LINE TYPES
We can select line styles and colors in a graph
Simply pass a character string to plot
– plot(t,x,’s’)
For example, s=r+, puts red plus(+) marks for every data point.
MATLAB accepts many other choices.
Redo the exponentials using different styles

1999 BG Mobasseri 15 04/19/23
Homework #2
Plot the 3 exponentials on slide 8 simultaneously.
– 1. Use red, green and blue solid lines respectively
– 2. Use red plus sign(+), green star(*) and blue dots (.) for each graph

1999 BG Mobasseri 16 04/19/23
SPECIALIZED 2D PLOTTING FUNCTIONS
For each item write an m-code to see the plots. Read the example slides
bar - creates a, well, bar graph polar - creates a (plot hist - creates a histogram of data fill - fills the curve with solid colors stairs - similar to bar but without internal
lines

1999 BG Mobasseri 17 04/19/23
bar
Usage:
– bar(x,y)
– plot the shape of a normal distribution given by y=exp(-x2) in the range (-2,2).
-3 -2 -1 0 1 2 30
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

1999 BG Mobasseri 18 04/19/23
fill
Usage:
– fill(x,y,’b’) where b indicates a blue fill.
– plot the function exp(-t^2), in the range (-2,2)
-2 -1.5 -1 -0.5 0 0.5 1 1.5 20
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

1999 BG Mobasseri 19 04/19/23
polar
Usage:
– polar(theta,rho)
Plot =sin 2θ( )cos 2θ( )
0.1
0.2
0.3
0.4
0.5
30
210
60
240
90
270
120
300
150
330
180 0

1999 BG Mobasseri 20 04/19/23
stairs
Usage
– stairs(x,y)
– plot the function exp(-x^2), in the range (-4,4)
-4 -3 -2 -1 0 1 2 3 40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

1999 BG Mobasseri 21 04/19/23
ADDING LABELS AND TITLES
There are numerous ways the appearance of a plot can be controlled. The most obvious ones are through
– axis labels
– figure title
– legend
– grid

1999 BG Mobasseri 22 04/19/23
LABEL USAGE
axis labels
– xlabel(‘time’)
– ylabel(‘voltage’) Figure title
– title(‘Capacitor voltage’) Legend
– legend(‘first’,’second’,’third’) Grid
– grid - places a grid over the plot

1999 BG Mobasseri 23 04/19/23
Try it!

1999 BG Mobasseri 24 04/19/23
Homework #3
Over a time range [-3, 3], plot the following 3 functions simultaneously using the matrix method of slide 7
– y=e-4xcos(2*pi*x);