Lecture 1 Matlab f09
-
Upload
moji20067147 -
Category
Documents
-
view
238 -
download
1
Transcript of Lecture 1 Matlab f09
![Page 1: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/1.jpg)
Introduction to MATLAB
3 November 2009
![Page 2: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/2.jpg)
• Instructor: Andy Newman• Office Hours: Stop by room 306 (main
building) whenever• Email: [email protected]• Website:
www.atmos.colostate.edu/programming
![Page 3: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/3.jpg)
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
![Page 4: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/4.jpg)
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
![Page 5: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/5.jpg)
Syllabus
• Week 5 (12/08)– Toolboxes• Mapping• Signal processing• Statistics
– Other topics you want to discuss
![Page 6: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/6.jpg)
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
![Page 7: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/7.jpg)
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
![Page 8: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/8.jpg)
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
![Page 9: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/9.jpg)
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
![Page 10: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/10.jpg)
Starting MATLAB• Once MATLAB is running the GUI (Graphical User
Interface) will appear– Default Window apperance
![Page 11: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/11.jpg)
Starting MATLAB
• Command Window– Main window
in MATLAB– Commands
entered here
![Page 12: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/12.jpg)
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
![Page 13: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/13.jpg)
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
![Page 14: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/14.jpg)
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
![Page 15: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/15.jpg)
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
![Page 16: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/16.jpg)
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
![Page 17: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/17.jpg)
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
![Page 18: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/18.jpg)
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
![Page 19: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/19.jpg)
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
![Page 20: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/20.jpg)
Interactive Commands
• Format of output – Defaults to 4 decimal places– Can change using format statement– format long changes output to 15 decimal places
![Page 21: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/21.jpg)
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
![Page 22: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/22.jpg)
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
![Page 23: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/23.jpg)
Logical Operators
![Page 24: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/24.jpg)
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
![Page 25: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/25.jpg)
Variables
• Variable types– Numeric – Logical– Character and string (discussed next week)– Cell and Structure (discussed next week)– Function handle (discussed in week 3)
![Page 26: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/26.jpg)
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
![Page 27: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/27.jpg)
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
![Page 28: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/28.jpg)
MATLAB Help• Product help window– Help>product help
![Page 29: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/29.jpg)
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
![Page 30: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/30.jpg)
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
![Page 31: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/31.jpg)
Next Week
• Arrays• Strings• File I/O• Program layout and debugging
![Page 32: Lecture 1 Matlab f09](https://reader030.fdocuments.in/reader030/viewer/2022012903/5695d0141a28ab9b0290e01a/html5/thumbnails/32.jpg)
Questions?