Plotting Points in Matlab
Matlab has an extensive set of plotting tools. The best all-around
two-dimensional plotting tool that we will concern ourselves with in this
course is the plot
command.
You may want to investigate some of the other plotting tools that Matlab
provides that we will not be discussing.
Since Matlab is a numeric computing tool, plotting is done using sets of numeric coordinates, otherwise known as points. If you wish to plot an expression, you must first calculate points using the expression and then plot the set of points you generated. Luckily, this is very easy to do with Matlab.
Suppose we want to just plot the sine function. Try entering this line:
y = sin(x);
Note that you get an error message. In Matlab, you
cannot use an unassigned variable on the right side of the equals sign.
This is because the equal sign is the assignment operator and Matlab is
trying to calculate the value of the right hand side and assign that value
to the variable that is named on the left hand side. Since we haven't
given x
a value yet, it is not possible to calculate the
right hand side of the assignment operator.
Before you can calculate the sine function, you need to determine what range
you want to calculate it over. You can calculate the sine of a single point,
but that won't be a very interesting plot. Instead, we will want many points
very close together, over the desired range, to evaluate.
In Matlab, the most convenient way to create a lot of points is to use the
colon (:
) operator to create a single dimension array,
also known as a vector.
Let's create a vector that spans two wavelengths of a sine curve.
As you know the wavelength of a sine curve is 2*pi
.
Here is a good way of creating such a vector:
xx = 0 : 0.02 : 4*pi ;
Every entry in the final vector is 0.02
greater than the previous entry.
Now we find the sine of each of the values of this vector.
The sin
function works much the way it does in Maple.
Enter the following:
yy = sin(xx);
Since Matlab's trigonometry functions all work element-wise on arrays,
this command returns a vector with the same number of values as in the xx
vector. To plot the yy
vs xx
:
plot( xx , yy )
Formatting your Plots
Congratulations, you've plotted a graph! It isn't all that interesting though. Let's do some formatting to it, like make the line dashed and the color green. Enter this command:
plot( xx , yy , 'g--' )
The g
makes the line green.
The two dashes make the line appear a dashed line instead of solid.
Add plot labels
To add a title at the top of your plot and label the x and y axis,
add these commands after your plot
command.
title('sin(x) vs x') xlabel('x') ylabel('sin(x)')
General Form of the plot Command
An xy plot with the plot
command has the general form:
plot( x1 , y1 , 'x1y1_specifications' , x2 , y2 , 'x2y2_specifications' , ... xn , yn , 'xnyn_specifications' ) title('title of the plot') xlabel('what is measured along the x axis') ylabel('what is measured along the y axis')
where x1
and y1
are the coordinates of the
first set of points to plot, x2
and y2
are the second
set of coordinates, ...
indicates the continuation on to the next line,
xn
and yn
are the final set of coordinates.
Each set of coordinates may be scalars (single values) or vectors.
The specifications are enclosed in single quotes and they are used to specify the line type, the data markers, and the color, for each xy plot group. If you omit the specifications, the default values include a solid line and no data markers.