Introduction to MATLAB

1 / 32

Introduction to MATLAB - PowerPoint PPT Presentation

Introduction to MATLAB. 3 November 2009. Instructor: Andy Newman Office Hours: Stop by room 306 (main building) whenever Email: anewman@atmos.colostate.edu Website: www.atmos.colostate.edu/programming. Syllabus. Week 1 (11/03) Introduction to MATLAB GUI

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'Introduction to MATLAB' - betty_james

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Introduction to MATLAB

3 November 2009

Instructor: Andy Newman

• Office Hours: Stop by room 306 (main building) whenever
• Email: anewman@atmos.colostate.edu
• 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
• Images in MATLAB
• Week 4 (12/01)
• 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
• 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
• New
• Create new MATLAB program file (m-file)
• Open existing m-file
• Import data
• Set Path
• Open recent m-files
MATLAB GUI
• Copy, cut, paste
• Find and replace phrases
• Clear command history, workspace
• 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 operations

Operation MATLAB form

• Exponentiation: ^ aba^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
Variables
• MATLAB is case sensitive
• X is not equal to x
• 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
• lookforkeyword 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