gibson:teaching:spring-2018:math445:lecture:scripts

topics

Matlab scripting linestyles and plot modifiers: xlabel, ylabel, title, legend, axis, grid, clf, load, save plot, semilogy, semilogx, loglog what, who, pwd, ls

A Matlab **script** is simply a list of Matlab commands in a plain-text (ASCII) file with a `.m`

filename extension. If you **call** or **execute** the script by its name at the Matlab prompt *without the .m extension*, Matlab will read the file and execute the commands sequentially. For example, here is a Matlab script that will make a plot of and , complete with labeled axes and a legend.

- plotsincos.m
% plot cos(x) and sin(x) over 0 < x < 2pi x = linspace(0, 2*pi, 100); plot(x, cos(x), 'b-', x, sin(x), 'r-'); xlabel('x'); legend('cos x', 'sin x'); title('two trig functions') grid on axis equal axis([0 2*pi -1 1])

If you download this file and place it in your current working directory (folder), Matlab will be able to find it and execute it. In my case, Matlab is running in the directory `/home/gibson/math445`

.

>> pwd % print working directory ans = /home/gibson/math445 >> what % print names of Matlab scripts in working directory MATLAB Code files in the current folder /home/gibson/math445 plotsincos

You *run* a script by typing its name at the Matlab prompt (without the `.m`

file extension). When the script is run, Matlab opens a new figure window and draws the plot

`>> plotsincos % execute the plotsincos script`

The above plotting script used the matlab **linestyle** codes ` 'b-' `

and ` 'r-' `

to generate blue and red curves for and . Matlab's **help** function provides a pretty good description of how line and marker style codes work.

>> help plot % clip out irrelevant stuff here Various line types, plot symbols and colors may be obtained with plot(X,Y,S) where S is a character string made from one element from any or all the following 3 columns: b blue . point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star (none) no line y yellow s square k black d diamond w white v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram For example, plot(X,Y,'c+:') plots a cyan dotted line with a plus at each data point; plot(X,Y,'bd') plots blue diamond at each data point but does not draw any line.

Some helpful commands for modifying plots

xlabel('foo') % add an x label ylabel('bar') % add a y label title('baz') % add a title legend('first', 'second', 'third') % add a legend with these labels axis on % turn on axes and ticks (default) axis off % turn off axes and ticks axis square % make the plot square axis equal % scale the x and y axes the same axis([xmin xmax ymin ymax]) % force these specific bounds on the axes grid on % turn on grid markers grid off % turn off grid markers hold on % hold the current plot; the next plot will be plotted on top of this one hold off % release the current plot; the next plot will erase this one clf % clear figure (erase current plot) figure(2) % open new figure window, numbered 2

gibson/teaching/spring-2018/math445/lecture/scripts.txt · Last modified: 2018/01/30 02:43 by gibson