% MATLAB Recitation Demo for Monday, September 15.
% File: rdemo2c
%
% *** Plotting of simple functions ***
%
% MATLAB is also good for plotting functions, such as
%
% y(x) = sin(2*pi*x) or y(x) = x^2
%
% where x is a finite number of points in an interval (say, [0, 1])
% and y is a vector giving the function value at each point in x.
%
>> diary rdemo2c
>> help linspace
LINSPACE Linearly spaced vector.
LINSPACE(x1, x2) generates a row vector of 100 linearly
equally spaced points between x1 and x2.
LINSPACE(x1, x2, N) generates N points between x1 and x2.
See also LOGSPACE, :.
>> x = linspace(0, 1, 21)
x =
Columns 1 through 7
0 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000
Columns 8 through 14
0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500
Columns 15 through 21
0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000
% The constant pi is predefined in MATLAB.
>> pi
ans =
3.1416
%
% Let's define the function y(x) = sin(2*pi*x) for the x in [0, 1].
%
>> y1 = sin(2*pi*x)
y1 =
Columns 1 through 7
0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511
Columns 8 through 14
0.8090 0.5878 0.3090 0 -0.3090 -0.5878 -0.8090
Columns 15 through 21
-0.9511 -1.0000 -0.9511 -0.8090 -0.5878 -0.3090 0
%
% Let's define the function y(x) = x^2 for the x in [0, 1].
>> y2 = x.^2
y2 =
Columns 1 through 7
0 0.0025 0.0100 0.0225 0.0400 0.0625 0.0900
Columns 8 through 14
0.1225 0.1600 0.2025 0.2500 0.3025 0.3600 0.4225
Columns 15 through 21
0.4900 0.5625 0.6400 0.7225 0.8100 0.9025 1.0000
%
% Plot sin(x) in red using dashed lines, superimpose a grid,
% label the vertical and horizontal axes, give a title,
% print the graph to an Athena cluster printer, and also print
% the graph to a file in your directory.
%
>> plot(x, y1, 'r-')
>> grid
>> ylabel('y(x)')
>> xlabel('x')
>> title('Plot of function y(x) = sin(x) for x in [0,1]')
%
% Print the graph at LaserPrinter in Bldg 2, 2nd Floor.
%
>> print -dps -Pceline
%
% Save the graph as a postscript file called 'figure1.ps'
% in my directory.
%
>> print -dps figure1.ps
%
% Clear the graph.
% Plot sin(x) and x^2 with red dashes and green dots,
% respectively.
% Superimpose a grid, and give the graph a title.
%
>> clg
>> plot(x, y1, 'r-', x, y2, 'g.')
>> grid
>> title('This is another graph')
>> diary off