Presentation on theme: "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."— Presentation transcript:
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 execute commands 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 script file 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 can create your scripts.
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 the script 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 result you want Let’s do an example: Let’s make the factorial example into a script file
Lab Task-01 The script file is now set to compute 4! What if I wanted to do 9!, or 12!, or 5! ? Hint-Just change the n parameter accordingly
9 Basic Graphics Commands MATLAB provides a variety of sophisticated techniques for presenting and visualizing data. Also, MATLAB makes it very easy to plot data!
10 2D plotting: If x and y are arrays of elements that are the same size, you can plot 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 the line y = x Here’s the syntax: This is what the graph looks like… To use the ‘plot’ function in Matlab, you should first make sure that the matrices/vectors you are trying to use are 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, you do the following: plot(x1,y1,x2,y2,…,xN,yN); N is the number of plots you want to appear on the single graph.
14 Example # 03 Let’s do another example: Let’s plot the following 5 lines: y1 = 0.1x y2 = 0.5x y3 = 2x y4 = 5x y5 = 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 are on the graph You can add a title, label the axes, put a grid on and even a legend! You can add these in the graph GUI that you’ve just seen, or do it through the command prompt
17 Labelling Axes: So let’s add a title, add a grid, label the axes and put up a legend.
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 y axes 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 with a solid line, and it’s got its own way of determining which colour belongs to what plot
20 Additional parameters for Graph Platting: In addition to the x and y points, you specify an additional parameter: plot(x, y, ‘line_style’); line_style is a character string of 2 characters The 1 st character specifies the colour of your plot The 2 nd character specifies how your plot will be plotted on the graph, or the plot style
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 custom colors. Also display legend of the graph.
Multiple plots in different Graph windows: the figure command can be used to display multiple plots in separate 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 window using 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 the amount 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 function first 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 left corner Do subplot(222) Specify that we want to work on the top right corner Next, code the syntax to plot normally. The plot will appear on the top right corner Do subplot(223) Specify that we want to work on the bottom left corner Next, code the syntax to plot normally. The plot will appear on the bottom left corner Do subplot(224) Specify that we want to work on the bottom right corner Next, code the syntax to plot normally. The plot will appear on the bottom right corner
Example: To plot rate in the top half of a figure and growth in the bottom half, 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)