Lecture 1 Matlab f09
-
Upload
moji20067147 -
Category
Documents
-
view
237 -
download
1
Transcript of Lecture 1 Matlab f09
Introduction to MATLAB
3 November 2009
• Instructor: Andy Newman• Office Hours: Stop by room 306 (main
building) whenever• Email: [email protected]• Website:
www.atmos.colostate.edu/programming
Syllabus• Week 1 (11/03)– Introduction to MATLAB
• GUI• Variables, operations, built in functions• Help• Script Files
• Week 2 (11/10)– Programming
• Syntax• Arrays: Numeric, cell, structure• Strings• Built in functions (i.e. find, mean, max, min, sum, etc)• File I/O (text, binary, netCDF, HDF)• Basic program organization• Debugging
Syllabus• Week 3 (11/17)– Graphics
• Line, scatter, bar, surface, contour plots, etc• Figure properties (i.e. Axis labels, tick marks)• Colormaps• Saving your plots• Images in MATLAB
• Week 4 (12/01)– Somewhat more advanced topics
• Making functions• Vectorized code• 3-D plots• Data manipulation in MATLAB: regression, derivatives, others you
want…• MATLAB Central File Exchange
Syllabus
• Week 5 (12/08)– Toolboxes• Mapping• Signal processing• Statistics
– Other topics you want to discuss
What is MATLAB?
• MATLAB is a simple programming language with its own extensive library of mathematical and graphical subroutines
• It integrates computation and graphics in one easy to use interface
• MATLAB stands for MATrix LABoratory.• MATLAB is very extendable. There are many
add-ons (toolboxes) for specific requirements
What is MATLAB?
• If MATLAB can process and visualize data, why ever use FORTRAN, C, or some other language?
• MATLAB is an interpreted language– It is not a compiled language– Therefore identical code executes more slowly,
sometimes MUCH more slowly in MATLAB– MATLAB has more memory overhead than
equivalent FORTRAN or C programs
What is MATLAB?
• Main Features– Simple programming rules– Extended accuracy – Continuity among integer, real and complex values– Comprehensive mathematical library– Extensive graphics tools– Linkages with other languages– Transportability across environment
• MATLAB scripts will work on PC, UNIX, Mac
Starting MATLAB
• On UNIX: type matlab at command prompt• Click on the MATLAB icon if you are on a PC• Mac can probably do both…• Issues on startup– MATLAB needs a connection to the license server– Check internet connection– Too many users can use all available licenses• Try again later
Starting MATLAB• Once MATLAB is running the GUI (Graphical User
Interface) will appear– Default Window apperance
Starting MATLAB
• Command Window– Main window
in MATLAB– Commands
entered here
Starting MATLAB
• MATLAB displays >> prompt when ready for a command– Will have no >> prompt when processing
commands– Newer versions also say “Ready” or “Busy” in
lower left corner of GUI– Can use arrow keys to work through command
history and modify commands• Essentially the same as UNIX command prompt
MATLAB GUI• Current Folder Window– Displays contents of the current
working directory– MATLAB Search Path
• Path that MATLAB uses to search for script and function files
• Default path contains all built in MATLAB functions
• Can modify path through MATLAB function or going under File>Set Path
• MATLAB will ask to modify path if running a program from a folder not in path
MATLAB GUI• Workspace Window– Shows all currently defined
variables – Array dimensions– Min, max values– Good debugging tool
• Command History– Shows all past commands– Can copy and past commands into
command window– Double click will execute command
MATLAB GUI
• Other windows include editor window, figure window, variable editor, help, etc
• Will discuss editor and figure window in upcoming weeks, get to help window in a little bit
MATLAB GUI
• Desktop Menus• File Menu– New• Create new MATLAB
program file (m-file)– Open existing m-file– Import data– Set Path– Open recent m-files
MATLAB GUI
• Edit Menu– Copy, cut, paste– Find and replace
phrases– Clear command
history, workspace
• Desktop Menu– Change appearance
of desktop• Select windows to
display
Interactive Commands
• Enter commands at >> prompt
• Variable ‘x’ automatically allocated– MATLAB does not require declaration of variables– Nice, but can get you in trouble so be careful
Interactive Commands
• MATLAB is case sensitive– Variable ‘ans’ will take value
of result of command if no equal sign specified• Holds most recent result only
– Semicolon at end of line will suppress output, it is not required like in C• Useful in script files and
debugging
Interactive Commands
• Format of output – Defaults to 4 decimal places– Can change using format statement– format long changes output to 15 decimal places
Operators
• Scalar arithmetic operationsOperation MATLAB form– Exponentiation: ^ ab a^b– Multiplication: * ab a*b– Right Division: / a / b = a/b a/b– Left Division: \ a \ b = b/a a\b– Addition: + a + b a+b– Subtraction: - a – b a-b
• MATLAB will ignore white space between variables and operators
Order of Operations
• Parentheses• Exponentiation• Multiplication and division have equal
precedence• Addition and subtraction have equal
precedence• Evaluation occurs from left to right• When in doubt, use parentheses– MATLAB will help match parentheses for you
Logical Operators
Variables
• MATLAB is case sensitive – X is not equal to x
• Variable names must start with a letter– You’ll get an error if this doesn’t
happen– After that, can be any
combination of letters, numbers and underscores• No special characters though
Variables
• Variable types– Numeric – Logical– Character and string (discussed next week)– Cell and Structure (discussed next week)– Function handle (discussed in week 3)
Variables
• Don’t name your variables the same as functions– min, max, sqrt, cos, sin, tan, mean, median, etc– Funny things happen when you do this
• MATLAB reserved words don’t work either– i, j, eps, nargin, end, pi, date, etc– i, j are reserved as complex numbers initially• Will work as counters in my experience so they can be
redefined as real numbers
MATLAB Help
• Ways to get help in MATLAB– help function name– Provides basic text
output• Type helpwin on
command line• Look under the help menu
on the desktop
MATLAB Help• Product help window– Help>product help
MATLAB Help
• Can browse or search product help for a specific function or topic
• MATLAB help has introductory help material, basic overviews of how to use functions, plot, program in MATLAB, example code, etc
• lookfor keyword command will also find functions that have the keyword in them
• doc function_name brings up the full documentation for the function
Resources• Books– Two that seem to be good:
• A Concise Introduction to MATLAB by William J. Palm III. 2008, McGraw-Hill, 418 pp.
• Essential MATLAB for Engineers and Scientists (Fourth Edition) by Brian Hahn and Dan Valentine. 2010, Academic Press, 480 pp.
• Online tutorials and examples are everywhere• Note that older books and tutorials may have
options that are no longer available and functions that no longer work– Figures are the prime example
Next Week
• Arrays• Strings• File I/O• Program layout and debugging
Questions?