Creating an array of values and plotting it
t = 0:0.01:5; % 500 values, spaced 0.01 apart, on [0,5] y = sin(4*t); % function to be plotted plot(t,y); % 2D plot command (t,y are both vectors)! print -deps plot1.eps; % print current graphic to postscript file |
Note the use of the "%" as a comment delimiter!
Printing to a File
The following code creates a surface graphic (using a builtin function called peaks) then prints it to a color encapsulated postscript file called "peaks.eps"
figure;close surf(peaks) print -depsc peaks.eps |
If you want to change this to a gif format (for inclusion in a web page) use the unix command "ps2gif"
If you are running under windows, you can output to jpeg or png format. (Type "help print" at the Matlab prompt).
Using Matlab's numerical ode solver
The following code creates "inline" functions g1 and g2, returning 2x1 column vectors. Matlab's builtin runge-kutta solver returns a 2x1 vector. These are plotted and compared.
g1 = inline('[x(2);-sin(x(1))]','t','x'); tseq = linspace(0,20,101); [t,x] = ode45(g1,tseq,[0;1]); g2 = inline('[x(2);-x(1)]','t','x'); [t,y] = ode45(g2,tseq,[0;1]); axis equal; figure;close plot(t,x(:,1),t,y(:,1)); % print -depsc graphic graphic = 'graphic.ps'; print( gcf, '-dps', graphic ) |
"inline" vs "script" functions
To create an inline function for use within a Matlab session, we do the following:
f = inline('sin(x)','x'); |
If we want the same file available through an m-file (or script) we create a function called y.m (in the same directory) with the lines
function y = f(x) y = sin(x) |
Note the file must be the same name as the function name, with an ".m" extension.