MATLAB MODULE 1
MATLAB Window Environment and the Base Program
Plotting
MATLAB is an outstanding tool for visualization. In the following, we will learn how to create and print simple plots.
We are going to plot sinusoidal oscillations with exponential decay. To do this, first generate the data ( x- and y- coordinates). x- coordinate in this case is time steps. Let the initial time =0 sec and final time =10 sec with an interval of 0.05 sec. y- coordinate is the value of sinusoidal oscillations represented by . This plot can be generated by entering the following commands.
>> t=0:0.05:10; % Generating time steps
>> yt=exp(-t/2).*sin(2*pi*t); %Calculate y(t )
>> plot(t,yt); %Plot t vs. y(t )
>> grid on; %Generating grids on x- and y-coordinates
>> xlabel('Time Steps: t --->'); %Labeling x-axis
>> ylabel('Sinusoid with exponential decay: y(t) --->'); %Labeling y-axis
>> title('Plotting exp(-t/2)*sin(2*pi*t)'); %Put a title on the plot
Response is shown in graphics or figure window snapshot (Fig. M1.15).
Arguments of the
xlabel,
ylabel, and
title commands are text strings. Text strings are entered within single-quote characters. Lines beginning with
% are comments; these lines are not executed. The
print command sends the current plot to the printer connected to your computer.
Rather than displaying the graph as a continuous curve, one can show the unconnected data points. To display the data points with small stars, use
plot(t,yt,'*'). To show the line through the data points in red color as well as the distinct data points, one can combine the two plots with the command
plot(t,yt,'r',t,yt,'*'). To learn more about plot options, type
help plot on the MATLAB prompt and hit return.
One can also produce multiple plots in a single window. Enter the following sequence of commands to your MATLAB command window and observe the resultant figure (Fig. M1.16).
Fig. M1.15 Plotting sinusoid with exponential decay
>> subplot(3,1,1);plot(sin(2*pi*t));
>> title('plot of sin(2*pi*t)');
>> subplot(3,1,2);plot(exp(-t/2));
>> title('plot of exp(-t/2)');
>> subplot(3,1,3);plot(exp(-t/2).*sin(2*pi*t));
>> title('multiply above two plots to get this');
Fig. M1.16 Plotting multiple plots in a single figure window
The command
subplot(m,n,p) breaks the figure window into an m-by-n matrix of small axes and selects the pth axes for the current plot. Labeling, title, and grid commands should be given immediately after the particular
subplot command to apply them to that subplot. Learn more about subplot using
help subplot .
Click on the Plot Editor icon once and then double click anywhere in the plot to open the Property Editor - Axes window (Fig M1.17). Using this property editor, title, axes, scale etc... of the plot can be changed.
Double clicking anywhere exactly on the curve opens the Property Editor – Lineseries (Fig M1.18). From this, plot type can be changed on the spot. Available plot options are: Line, Area, Bar, Stairs, and
Stem. Line width and markers can be changed by pull down menu
Line and
Marker.
Fig. M1.17 Axes property editor
Fig. M1.18 Lineseries property editor
Exercise M1.7
Generate 50 linearly spaced time steps between 0 and 10. Calculate for:
- and ,3, and 5. Plot all the three curves in a single figure.
- k =3 and . Plot all the three curves in a single figure.
Both the plots should be with respect to time. In both the plots, mark each curve with its k and values ( Hint: Use Insert Text Box option from main menu bar). From the main menu bar, choose Tools Edit Plot and then click anywhere on a curve. Plot Editor will open. Try several available options. Further to this, do the following:
-
Create legends for both the plots.
-
Use zoom-in and zoom-out tools.
-
Rotate plots using 3D rotation tool.
-
Click on the Data Cursor icon. Move mouse pointer anywhere in the graph sheet. A cross-hair cursor will appear. Clicking the cross-hair on the curve will give corresponding and axis values. Use Data Cursor to observe values at various time steps.
Exercise M1.8
Assign 0.5, , and to , respectively. Calculate for t = [0:0.1:10].
Obtain three plots for . Title the graph and label the Draw
all the three plots on the same graph sheet and mark each curve with appropriate value.
Exercise M1.9
- Study the commands semilogx, semilogy, and loglog using help command.
- Consider the complex number . Using MATLAB, generate the following two plots on semilog graph sheet for . Use subplot. Title both the plots, label the axes, and generate grid.
a)
b)
Hint: Use logspace command to generate 100 logarithmically spaced samples of between 0.01 and 1000 rad/sec. Use abs and angle commands for calculations as per ii(a) and ii(b) given above for each Use semilogx to plot.
|
|