CSE123 Introduction to Computing

34
CSE123 Introduction to Computing Lecture 2 Introduction to MATLAB

description

CSE123 Introduction to Computing. Lecture 2 Introduction to MATLAB. MATLAB. Matlab provides a technical computing environment designed to support the implementation of computational tasks. - PowerPoint PPT Presentation

Transcript of CSE123 Introduction to Computing

Page 1: CSE123  Introduction to Computing

CSE123 Introduction to Computing

Lecture 2

Introduction to MATLAB

Page 2: CSE123  Introduction to Computing

MATLAB

• Matlab provides a technical computing environment designed to support the implementation of computational tasks.

• Matlab is an interactive computing environment that enables numerical computation and data visualization.

Page 3: CSE123  Introduction to Computing

MATLAB

• Matlab is an effective tool.– very simple numerical or statistical calculations,– some complex statistics, – solve simultaneous equations,– make a graph, or run and entire simulation program,

• Matlab can solve– problems in applied mathematics, physics, chemistry,

engineering, finance – almost any application area that deals with complex numerical calculations.

Page 4: CSE123  Introduction to Computing

MATLAB

Running MATLAB• Double-click on the Matlab icon or select

Matlab from Start/Programs

MATLAB Windows– Command Window – Workspace– Current Directory – Command History

Page 5: CSE123  Introduction to Computing

Numbers

Matlab represents numbers in two form, fixed point and floating point.

Fixed point: Decimal form, with an optional decimal point.

For example: 2.6349 -381 0.00023

Floating point: Scientific notation, representing m x 10e

For example: 2.6349 x 105 is represented as 2.6349e5

The number has two parts:• mantissa m: fixed point number (signed or unsigned), with an optional decimal point (2.6349 in the example above)

• exponent e: an integer exponent (signed or unsigned) (5 in the example).

•Mantissa and exponent must be separated by the letter e (or E).

Page 6: CSE123  Introduction to Computing

Operators

“>>” is supplied by Matlab, indicates beginning of the command.

ans = following the completion of the command with the Enter key marks the beginning of the answer.

Page 7: CSE123  Introduction to Computing

Operators

Try following operations:

>> 3 + 5 + 2

>> 4*22 + 6*48 + 2*82

>> 4 * 4 * 4

>> 4^3

>> 56/8

>> 8\56

Page 8: CSE123  Introduction to Computing

Precedence of operations (order of evaluation)

There are rules about the order of operations

1. Parentheses, innermost first

2. Exponentiation (^), left to right

3. Multiplication (*) and division (/ or \) with equal precedence, left to right

4. Addition (+) and subtraction (−) with equal precedence, left to right

When operators in an expression have the same precedence the operations are carried out from left

to right. Thus 3 / 4 * 5 is evaluated as ( 3 / 4 ) * 5 and not as 3 / ( 4 * 5 ) .

Page 9: CSE123  Introduction to Computing

Precedence of operations (order of evaluation)

Examples:

acb

abbdc

b

a

4

22

23

)**42/()**2(2*)2/3(/ cabbadbcba

afe

d

fcba

3

3).( 32

)))*3/()(/(

)...3^*3*)2^(((

afed

fcba

Page 10: CSE123  Introduction to Computing

Some built-in functions

Function Symbol Example

Sinus sin() sin(pi)

Cosinus cos() cos(pi)

Tangent tan() tan(pi)

inv sinus asin() asin(0)

inv cosinus acos() acos(0)

inv tangent atan() atan(1)

Function Symbol Example

Eksponential, ex

exp() exp(2)

Natural Logarithm ln(x)

log() log(10)

Logarithm based 10, log1010

log10() log10(10)

Square root, x

sqrt() sqrt(25)

Absolute, |x|

abs() abs(x)

ModulusRemainder of x/y

rem(x,y) rem(7,2)(=1)

Page 11: CSE123  Introduction to Computing

Variables and Assignment StatementsAssignment statement:

variable = number

variable = expression

variable = input(‘enter a number’)

Variable names• Must start with a letter• May consist only of the letters a-z, digits 0-9, and the underscore character (_)• May be as long as you would like, but Matlab only recognizes the first 63 characters• case sensitive: items, Items, itEms, and ITEMS are all different variable names.

Page 12: CSE123  Introduction to Computing

Variables and Assignment Statements

Example:>> mterm = 60

>> final=80;

>> quiz=60

>> grade = 0.5*midterm+0.1*quiz+0.4*final

• Variables: mterm,final,quiz,grade

• Results displayed and stored by variable name

• Semicolon at the end of a line (as in the line >> fianl=80;) tells Matlab to evaluate the line but not to display the results

Page 13: CSE123  Introduction to Computing

Variables and Assignment Statements

Examples more…

>> x=5;

>> y=x+5;

>> x=2;

y is still 10 not 7 you have to run >> y=x+5 again to obtain new value of y.

>> z=z+2 is a correct assignment in MATLAB.

If you have not supplied a value for xx, Matlab will return a syntax error:

>> y=xx+5

??? Undefined function or variable ’xx’.

Page 14: CSE123  Introduction to Computing

Variables and Assignment Statements

Examples more…

TC=5/9*(TF-32)

Sometimes writing an equation in multiple statements makes the equation more understandable

numerator = s^2 + 4*s + 13;denominator = s^3 - 2*s^2 + 4*s + 5;H = numerator/denominator;

Page 15: CSE123  Introduction to Computing

Example - Solving for quadratic roots

2s2 + 10s + 12 = 0

find roots of the quadratic equation.>> a =2;>> b =10;>> c =12;>> disc = b^2-4*a*c;>> x1 = (-b + sqrt(disc)) /(2*a)>> x2 = (-b - sqrt(disc)) /(2*a)

x1 =

-2x2 =

-3

Page 16: CSE123  Introduction to Computing

input()

INPUT Prompt for user input.X=input(‘enter a number’)enter a number2X = 2Enter character strings as followsName=input(‘enter your name :’,‘s’)

enter your name :ali

Name =

ali

Page 17: CSE123  Introduction to Computing

disp()

DISPThere are two general forms of the command disp.

1. disp(variable): Displays value of variable without displaying the variable name.

2. disp(string): Displays string by stripping off the single quotes and echoing the characters between the quotes.

String: A group of keyboard characters enclosed in single quote marks (’). The quote marks indicate that the enclosed characters are to represent ASCII text.

>> temp=78;>> disp(temp); disp(’degrees F’)78degrees F

Page 18: CSE123  Introduction to Computing

Display Options• There are several commands that can be used

to display variables with more control over the form of the display.

Page 19: CSE123  Introduction to Computing

Commands involving variables:

who: lists the names of defined variables

whos: lists the names and sizes of defined variables

clear: clears all variables, resets default values of special variables

clear var: clears variable var

clc: clears the command window, homes the cursor (moves the prompt to the top line), but does not affect variables.

clf: clears the current figure and thus clears the graph window.

Use commands….

Page 20: CSE123  Introduction to Computing

Computational Limitations

In Matlab, numbers are typically represented in a floating-point representation conforming to a standard established by the IEEE in 1985. In the IEEE double-precision standard used by Matlab, there are 53 bits (approx. 15 significant digits )in the mantissa and 11 bits in the exponent (m x 2e), for a total of 64 bits to represent a scalar number. This provides a range of values extending from 10−308 to 10308.

Page 21: CSE123  Introduction to Computing

Computational Limitations

Two Matlab functions, realmax and realmin, display the largest and the smallest numbers, respectively.

>> realmax

ans =

1.7977e+308

>> realmin

ans =

2.2251e-308

Page 22: CSE123  Introduction to Computing

Command reuse and editing

• Press the up arrow cursor key (↑) to scrolls backward through previous commands. Press Enter to execute the selected command.

• The down arrow cursor key (↓) scrolls forward through commands

• The left (←) and right arrow (→) cursor keys move within a command at the Matlab prompt, allowing the command to be edited.

• The mouse can also be used to reposition the command cursor, by positioning the mouse cursor and pressing the left mouse button.

Page 23: CSE123  Introduction to Computing

Command reuse and editing

• Other standard editing keys, such as delete Del , backspace BkSp , home Home , and end End , perform their commonly assigned tasks.

• Once a scrolled or edited command is acceptable, pressing Enter with the cursor anywhere in the command tells Matlab to process it.

• Escape key Esc erases the current command at the prompt.

• Windows copy and paste operations can be used

Page 24: CSE123  Introduction to Computing

Getting Help

• help – On-line help, display text at command line help, by itself, lists all help topics

• help topic provides help for the specified topic• help command provides help for the specified command• help help provides information on use of the help command• helpwin – On-line help, separate window for navigation.• helpdesk – Comprehensive hypertext documentation and

troubleshooting• help ops: help about operators and special characters• F1 + topic and help tab from File menu.

Page 25: CSE123  Introduction to Computing

Interrupting and Terminating Matlab

• Ctrl+C : Interrupts (aborts) processing, but does not terminate Matlab.

• quit: Terminates Matlab• exit: Terminates Matlab• Select Exit under File menu: Terminates

Matlab

Page 26: CSE123  Introduction to Computing

Files and File ManagementMatlab provides a group of commands to manage user files• pwd: Print working directory – displays the full path of the

present working directory.• cd path: Change to directory (folder) given by path, which

can be either a relative or absolute path.• dir : Display the names of the directories (folders) and files

in the present working directory.• what: Display the names of the M-files and MAT-files in the

current directory.• delete file: Delete file from current directory• type file: Display contents of file (text file only, such as an

M-file).

Page 27: CSE123  Introduction to Computing

Saving and Restoring Matlab Information

It is good engineering practice to keep records of calculations. These records can be used for several purposes, including:

To revise the calculations at a later time.

To prepare a report on the project.

Diary CommandThe diary commands allows you to record all of the input and displayed output from a Matlab interactive workspace session. The commands include:• diary file: Saves all text from the Matlab session, except for the prompts (>>), as text in file, written to the present working directory. If file is not specified, the information is written to the file named diary.• diary off: Suspends diary operation.• diary on: Turns diary operation back on.• diary: Toggles diary state

Page 28: CSE123  Introduction to Computing

Saving and Restoring Matlab Information

Example:>> diary roots>> a=1;>> b=5;>> c=6;>> x = -b/(2*a);>> y = sqrt(b^2-4*a*c)/(2*a);>> s1 = x+ys1 =-2>> s2 = x-ys2 =-3

The file roots is written in your current working directory. It can be displayed by Matlab command type roots.

Page 29: CSE123  Introduction to Computing

Storing and Loading Workspace Values

save : Stores workspace values (variable names, sizes, and values), in the binary file matlab.mat in the present working directorysave data :Stores all workspace values in the file data.matsave data_1 x y :Stores only the variables x and y in the file data_1.matload data_1 :Loads the values of the workspace values previously stored in the file data_1.mat

Page 30: CSE123  Introduction to Computing

Script M-Files

•Group of Matlab commands placed in a text file with a text editor.•Matlab can open and execute the commands exactly as if they were entered at the Matlab prompt. •The term “script” indicates that Matlab reads from the “script” found in the file. Also called “M-files,” as the filenames must end with the extension ‘.m’, e.g. example1.m.

Page 31: CSE123  Introduction to Computing

Script M-FilesExample : Create the file named qroots.m in your present working directory using a text editor:

%qroots:Quadratic root finding script format compact;a=1;b=5;c=6;x = -b/(2*a);y=sqrt(b^2-4*a*c)/(2*a);s1 = x+ys2 = x-y

To execute the script M-file, simply type the name of the script file qroots at the Matlab prompt:>> qrootsa =1b =5c =436s1 =-2s2 =-3

Page 32: CSE123  Introduction to Computing

Effective Use of Script Files

1. The name must begin with a letter and may include digits and the underscore character.2. Do not give a script file the same name as a variable it computes3. Do not give a script file the same name as a Matlab command or function. To check existence of command, type exist(’rqroot’). This command returns one of the following values:

0 if rqroot does not exist1 if rqroot is a variable in the workspace2 if rqroot is an M-file or a file of unknown type in

the Matlab search path….

Page 33: CSE123  Introduction to Computing

Effective Use of Script Files

4. As in interactive mode, all variables created by a script file are defined as variables in the workspace. After script execution, you can type who or whos to display information about the names, data types and sizes of these variables.5. You can use the type command to display an M-file without opening it with a text editor.For example, to view the file rqroot.m, the command is type rqroot.

Page 34: CSE123  Introduction to Computing

Matlab Search Path, Path Management

Matlab search path: Ordered list of directories that Matlab searches to find script and function M-files stored on disk.

Commands to manage this search path:matlabpath: Display search path.addpath dir: Add directory dir to beginning of matlabpath. If you create a directory to store your script and function M-files, you will want to add this directory to the search path.rmpath dir: Remove directory dir from the matlabpath.