Presentation is loading. Please wait.

Presentation is loading. Please wait.

26 - 3/20/2000AME 150L1 M ATLAB ®. 26 - 3/20/2000AME 150L2 M ATLAB ® vs. Fortran Fortran Positives –First Compiler –Legacy Codes –Efficient Numerically.

Similar presentations


Presentation on theme: "26 - 3/20/2000AME 150L1 M ATLAB ®. 26 - 3/20/2000AME 150L2 M ATLAB ® vs. Fortran Fortran Positives –First Compiler –Legacy Codes –Efficient Numerically."— Presentation transcript:

1 26 - 3/20/2000AME 150L1 M ATLAB ®

2 26 - 3/20/2000AME 150L2 M ATLAB ® vs. Fortran Fortran Positives –First Compiler –Legacy Codes –Efficient Numerically –Portability Fortran Negatives –Debugging Hard –Cumbersome –Object Orientation pasted-on M ATLAB ® Positives –Interactive mode –Wealth of 3rd party “notebooks” –Matrix Oriented –Efficient I/O and Graphics M ATLAB ® Negatives –Syntax cumbersome –Command Line oriented

3 26 - 3/20/2000AME 150L3 M ATLAB ® Usage For the next 4 lectures –Slide will introduce topic Useful in reviewing lecture and practicing Can pay attention to on-line demonstration –Demonstration of usage on-line Will show details of usage Shop proper and improper operation First -- Learn to use M ATLAB ® Help

4 26 - 3/20/2000AME 150L4 Basic Features Simple Mathematics –M ATLAB ® is like a calculator Type in expression and get answer ( ans= ) Suppress answer with trailing semi-colon ; Can define variables (like in Fortran) –M ATLAB ® operations Fortran-like +, -, * and functions Exponentiation is ^ (like Basic or Excel) 2 Divisions / and \ ( 56/8 same as 8\56 )

5 26 - 3/20/2000AME 150L5 Hierarchy of operations Similar to Fortran –Expression evaluated left to right –Exponentiation has highest precedence –Multiplication & Division next & equal –Addition & Subtraction next & equal Expressions in Parentheses evaluated first –Start with Innermost & proceed Outward

6 26 - 3/20/2000AME 150L6 Naming Variables Variable names are Case sensitive (!!!) Names can have up to 31 characters Names must start with a letter Names can contain letter, numerical digits, and underscore (no special characters or blanks) i and j are special (they are )

7 26 - 3/20/2000AME 150L7 Special Variables i or j - imaginary base ans - unnamed answer pi - 3.1416… eps - machine epsilon (1 + eps)>1 (smallest) inf - stands for infinity NaN or nan - not a number flops - number of floating point operations nargin - number of function input arguments nargout - number of function output arguments realmin - smallest usable positive real number realmax - largest usable positive real number

8 26 - 3/20/2000AME 150L8 Features of calculations Complex numbers are natural EDU» sqrt(-1) ans = 0+ 1.0000i Pi is predefined in a variable EDU» atan(1)*4-pi ans = 0

9 26 - 3/20/2000AME 150L9 Cautions Special Variables Can Be Redefined! EDU» pi ans = 3.1416 EDU» pi=5 pi = 5 EDU» atan(1)*4-pi ans = -1.8584

10 26 - 3/20/2000AME 150L10 More Features Clear - resets special values and any other defined variables Convenience often misleads EDU» -1*(1/3) EDU» -1^(1/4) ans = -0.3333 -1 EDU» -1^(1/2) EDU» sqrt(sqrt(-1)) ans = -1 0.7071+ 0.7071i

11 26 - 3/20/2000AME 150L11 Comments & Punctuation Comments start with % Lines are continued by three periods... Comments cannot be continued (but can use % on next line to make “new” comment) Cannot continue in middle of a variable name

12 26 - 3/20/2000AME 150L12 Complex Numbers Complex numbers have a magnitude and angle (argument in mathematics) M    M e i  = a + b i where

13 26 - 3/20/2000AME 150L13 M ATLAB ® Complex Helpers Real, imag, abs, and angle c1 = EDU» mag_c1=abs(c1) 1.0000+ 2.0000i mag_c1 = EDU» c2=3*(2-sqrt(-1)*3) 2.2361 c2 = EDU» angle_c1=angle(c1) 6.0000- 9.0000i angle_c1 = EDU» c3=6+sin(-5)*j 1.1071 c3 = EDU» imag_c1=imag(c1) 6.0000+ 0.9589i imag_c1 = 2

14 26 - 3/20/2000AME 150L14 M ATLAB ® Mathematical Functions

15 26 - 3/20/2000AME 150L15 M ATLAB ® Links Pointers to other texts http://www.mathworks.com/support/books/index.php3 User Contributed Software (“M-Files”) http://www.mathworks.com/support/ftp/ On-line Demos http://www.mathworks.com/products/demos/

16 26 - 3/20/2000AME 150L16 Command Window Command Window  Workspace who - lists active variables whos - more detailed information clear - clears the workspace (erases all) clear list of variables - clears variables in list help - provides general help help command - provides help on command more on - pauses on full screen

17 26 - 3/20/2000AME 150L17 Number Display Format format short 3.14165 digits format long 3.1415926535897915 digits format short e 3.146e+00+ exponent format long e 3.14159265358979e+00 format short g 3.1416better of shorts format long g 3.14159265358979 format hex 400921fb5442d18hexadecimal format rat 355/113rational approximation format bank 3.142 decimal digits format compact suppresses extra line feeds

18 26 - 3/20/2000AME 150L18 Command Window Control clc Clear command window home cursor to upper left corner more on Pages the command window computer tells what computer you are running on version Short version information ver long version information quit Stop using Matlab

19 26 - 3/20/2000AME 150L19 Script M-files Can create scripts of commands Called “m-files” because extension is.m

20 26 - 3/20/2000AME 150L20 Special M-File Commands disp (variable)display results - no variable names echo control echoing of script commands input prompt user for input keyboard Give temporary control to keyboard pause pause until any key pressed pause n pause n seconds, then continue waitforbuttonpress

21 26 - 3/20/2000AME 150L21 M ATLAB ® Session Control A file called startup.m (in your search path) will execute every time you start M ATLAB ® Suggestions for a startup file –Keep a diary (copy) of day’s session (you can edit it to remove irrelevant material) –set more on

22 26 - 3/20/2000AME 150L22 Sample Startup file % This is the startup.m initialization file more on %pause on a full screen dfile=strcat(date,'.txt'); %make date string diary(dfile); %Create a diary file %named with today's date disp(strcat(‘Diary created:',datestr(now,0)))

23 26 - 3/20/2000AME 150L23 File & Directory Management Save, load & deleting variables save stores all variables in matlab.mat save liststores variables in list load loads all variables from matlab.mat load listloads just variables in list These commands are for initializing workspace

24 26 - 3/20/2000AME 150L24 File Management Details save (fname, ['var1','var2',…]) saves variables var1 and var2 into file stored in string fname delete ('data.mat') deletes named file Lots of low-level file I/O - we will not use in AME150

25 26 - 3/20/2000AME 150L25 Exist Command Details EXIST('A') returns: 0 if A does not exist 1 if A is a variable in the workspace 2 if A is a file [usually M-file] on MATLAB's search path 3 if A is a MEX-file on MATLAB's search path 4 if A is a MDL-file on MATLAB's search path 5 if A is a built-in MATLAB function 6 if A is a P-file on MATLAB's search path 7 if A is a directory

26 26 - 3/20/2000AME 150L26 Embedded OS Commands cd or pwd Show or change present working directory p=cd Return present working directory dir or ls Display files in current directory d=dir return current working directory p=matlabroot return dir path to Matlab type cow Type cow.m in Command window what Type organized listing of Matlab files

27 26 - 3/20/2000AME 150L27 M ATLAB ® Special Features Vectors and Arrays (and array operations) Plotting Linear Algebra Polynomials (and their roots) Solutions of Systems of Equations Problem Solving

28 26 - 3/20/2000AME 150L28 M ATLAB ® Arrays M ATLAB ® has many features to work with arrays of numbers (vectors & matrices) Definition: x=[ list of elements separated by, or blanks ] each element may be an arbitrary expression x = [0 0.1*pi,.2*pi … 0.9*pi pi] y=sin(x) produces an array result

29 26 - 3/20/2000AME 150L29 M ATLAB ® Arrays (2) Arrays have the following properties –1-D Arrays can be rows or columns (use ; to signal end of row) –2-D Arrays have rows and columns –M ATLAB ® can handle higher numbers of dimensions - extra dimensions are “pages”

30 26 - 3/20/2000AME 150L30 M ATLAB ® Arrays (3) An Array is referred to by its name (same as naming variables) An element of an array is indicated by an index (enclosed in parentheses) V = [1 2 3 4 5] V(3) is 3 V(:3) is [1 2 3] V(2:) is [2 3 4 5]

31 26 - 3/20/2000AME 150L31 The Colon “:” operator The Colon is used to create equi-spaced lists x=[1:4] is [1 2 3 4] N1:N2 starts at N1 and increments by 1 to N2 x=[1:2:9] is [1 3 5 7 9] N1:N2:N3 starts at N1, increments by N2 until reach N3 Angle=[180:-1:0] generates a list of 181 angles from 180 to 0 (in reverse order) Radians=pi/180*Angle (same but in radians)

32 26 - 3/20/2000AME 150L32 Scalars and Vectors Scalars can be added, subtracted, multiplied or divided into vectors (element by element) » x=[1 3 5 7 9];y=3*x y = 3 9 15 21 27 » z=x+7 z = 8 10 12 14 16

33 26 - 3/20/2000AME 150L33 The Dot “. “ Operator Some operators don’t make sense » x^2 ??? Error using ==> ^ Matrix must be square. » x.^2 ans = 1 9 25 49 81

34 26 - 3/20/2000AME 150L34 The Dot “. “ Operator (continued) The Dot before an operator signals that you want top perform the same operation on every element in an array x = 1 3 5 7 9 y = 3 9 15 21 27 » x.*y ans = 3 27 75 147 243


Download ppt "26 - 3/20/2000AME 150L1 M ATLAB ®. 26 - 3/20/2000AME 150L2 M ATLAB ® vs. Fortran Fortran Positives –First Compiler –Legacy Codes –Efficient Numerically."

Similar presentations


Ads by Google