Lab # 03- SS
Basic Graphic Commands
Lab Objectives:
To understand M-files principle.
To plot multiple plots on a single graph.
To use different parameters on the graph.
To plot multiple graphs in a single graph window.
M-Files/ Script files:
3
So far, you’ve seen that MATLAB can accept and executecommands interactively through the command prompt
… what happens if you’ve got A LOT of commands to execute?
You can do this in Matlab. This kind of file is called a scriptfile or M-file (M for MATLAB!)
You place all commands you want to execute in a file with extension.m at the end, and you run the script file
MATLAB will run all of these commands in sequence for you.
MATLAB has a M-file editor that you can use where you cancreate your scripts.
M-File
4
Script Files
5
Once a script file has been created, type in the name of the file(without the .m) in the command prompt to execute the script
When you execute a script file, all of the variables created in thescript file get stored in the workspace for future use
The great thing about script files is that commands can be re-executed without having to enter them all again!
All you have to do is modify parts of the script file to give you the resultyou want
Let’s do an example:
Let’s make the factorial example into a script file
Example #1
6
7
Lab Task-01
The script file is now set to compute 4!  What if I wanted todo 9!, or 12!, or 5! ?
Hint-Just change the n parameter accordingly
9
Basic Graphics Commands
MATLAB provides a variety of sophisticated techniques forpresenting and visualizing data. Also, MATLAB makes it veryeasy to plot data!
10
2D plotting:
If x and y are arrays of elements that are the same size, you canplot them using this data with the following command:
plot(x, y);
This will bring up a window plotting a graph of y vs. x
11
Example # 02
Here’s a basic example:
Let’s say I wanted to plot theline y = x
Here’s the syntax:
This is what the graph lookslike…
To use the ‘plot’ function in Matlab,you should first make sure that thematrices/vectors you are trying to useare of equal dimensions.
Lab Task-02
Plot the following:
A)y1=2x
B)y2=x+3
C)y3=2x+2z
13
Multiple plots on a single Graph:
If you want to plot multiple plots on a single graph, youdo the following:plot(x1,y1,x2,y2,…,xN,yN);
N is the number of plots you want to appear on the singlegraph.
14
Example # 03
Let’s do another example:
Let’s plot the following 5 lines:y1 = 0.1xy2 = 0.5xy3 = 2xy4 = 5xy5 = 10x
For now, let’s make them all go from 0 to 10 in step sizes of 0.1
These plots don’t all have to have the same step size!
15
Write this in the command prompt in MATLAB
You can also make a script file too if you want!
16
MATLAB automatically color codes the different plots that areon the graph
You can add a title, label the axes, put a grid on and even alegend!
You can add these in the graph GUI that you’ve just seen, or do itthrough the command prompt
17
Labelling Axes:
So let’s  add a title, add a grid, label the axes and put up a legend.
18
19
grid puts a grid on the graph
The spacing for the grid is automatically figured out by MATLAB
title(‘…’) lets your graph have a title
xlabel(‘…’)ylabel(‘…’) labels the x and yaxes accordingly
Put the labels inside the quotations
Don’t forget the quotations ‘ ‘!
legend(‘…’, ‘…’, …, ‘…’) produces a legend,labeling what each plot is on the graph
By default, MATLAB takes all points and connects them witha solid line, and it’s got its own way of determining whichcolour belongs to what plot
20
Additional parameters for Graph Platting:
In addition to the x and y points, you specify an additionalparameter:plot(x, y, ‘line_style’);
line_style is a character string of 2 characters
The 1st character specifies the colour of your plot
The 2nd character specifies how your plot will be plotted on thegraph, or the plot style
21
Supported colours:
blue, green, red, cyan, magenta, yellow, black
Supported plot styles:
22
Examples:x = 0:0.1:10;y = x;
plot(x,y,’g.’);
This will plot a green line with dots at each point
plot(x,y,’bo’);
This will plot a blue line with circles at each point
plot(x,y,'rx’);
This will plot a red line with crosses at each point
Lab Task-03
X = [3 9 27];     % dependent vectors of interest
Y = [10 8 6];
Z = [4 4 4];
t = [1 2 3]; % independent vector
Plot these vectors in a single graph and embellish with customcolors. Also display legend of the graph.
Multiple plots in different Graph windows:
the figure command can be used to display multiple plots inseparate figure windows.
25
Multiple Graphs in One Window:
There is also a way to produce multiple graphs in one window
You can have more than 1 graph in one window at a time!
Multiple plots can be displayed within a single figure windowusing the subplot function, which can be called as follows:
         subplot(rows, cols, whichArea)
Each slot takes in a graph
26
How do we use the subplot command?
subplot(m,n,p) or subplot(mnp)
These determine the number of rows (m) and columns (n) for theamount of graphs you want
p determines which location in the window you want the plot to go to
The order is from left to right, top to bottom
In order to properly use subplot, you must call this functionfirst
After, you code the syntax to plot something normally
27
Here’s a small example:
If I wanted to make a window that has 4 plots, 2 plots in each row 2 rows, here’s what I’d do
Do subplot(221)  Specify that we want to work on the top left corner
Next, code the syntax to plot normally.  The plot will appear on the top leftcorner
Do subplot(222)  Specify that we want to work on the top rightcorner
Next, code the syntax to plot normally.  The plot will appear on the top rightcorner
Do subplot(223)  Specify that we want to work on the bottom leftcorner
Next, code the syntax to plot normally.  The plot will appear on the bottom leftcorner
Do subplot(224)  Specify that we want to work on the bottom rightcorner
Next, code the syntax to plot normally.  The plot will appear on the bottomright corner
Example:
To plot rate in the top half of a figure and growth in the bottomhalf,
rate= [3.2 4.1 5.0 5.6];
growth = [2.5 4.0 3.35 4.9];
figure;
subplot(2,1,1);
plot(rate)
subplot(2,1,2);
plot(growth)
http://matlab.izmiran.ru/help/techdoc/ref/subplot1.gif
Lab Task -04
y1=2x, y2=4x, y3=6x, y4=8x; x= -5:0.1:5;
Plot all these 4 outputs on a single graph window. Mention x-label, y-label on each. And display your Roll no: on top of thegraph window.