Loading...

PPT – CSE123 Lecture 3 PowerPoint presentation | free to download - id: 788777-NDI1M

The Adobe Flash plugin is needed to view this content

CSE123 Lecture 3

- Files and File Management
- Scripts

Files and File Management

- Matlab 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).

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 Command The 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

(gtgt), 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

Saving and Restoring Matlab Information

Example gtgt diary roots gtgt a1 gtgt b5 gtgt

c6 gtgt x -b/(2a) gtgt y sqrt(b2-4ac)/(2a)

gtgt s1 xy s1 -2 gtgt s2 x-y s2 -3

The file roots is written in your current working

directory. It can be displayed by Matlab command

type roots.

Storing and Loading Workspace Values

save Stores workspace values (variable names,

sizes, and values), in the binary file matlab.mat

in the present working directory save data

Stores all workspace values in the file

data.mat save data_1 x y Stores only the

variables x and y in the file data_1.mat load

data_1 Loads the values of the workspace values

previously stored in the file data_1.mat

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.

Script M-Files

Example Create the file named qroots.m in your

present working directory using a text

editor qrootsQuadratic root finding script

format compact a1 b5 c6 x

-b/(2a) ysqrt(b2-4ac)/(2a) s1 xy s2

x-y

To execute the script M-file, simply type the

name of the script file qroots at the Matlab

prompt gtgt qroots a 1 b 5 c 43 6 s1 -2 s2

-3

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 computes 3. 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 exist 1

if rqroot is a variable in the workspace 2 if

rqroot is an M-file or a file of unknown type in

the Matlab search path .

Effective Use of Script Files

4. 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.

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.

- Different types of Variables Logical operators,

Conditional Statements and If Blocks

Different types of Variables

Numerical Variables

- Integer.
- positive whole numbers 1, 2, 3,...
- negative whole numbers -1, -2, -3,...
- zero 0

Matrix index (ex B(2,1) ) Counters

- Real. real number.

All calculus results

- Complex. a b i
- a and b are real numbers
- i is an imaginary number. ( i2 -1 )

Complex calculus Geometry Vector calculus

Matlab Notation N abi or Nabj

Different types of Variables

Character/string Variables

- Character/string.
- Strings of alphanumeric elements

All labels and titles. Filenames

Matlab Notation Astring

Strings and characters follow the same rules as

other matrices, with each character counting for

one element.

Different types of Variables

Logical Variables

- Logical Variables or Boolean. Logical

expression with 2 states - 0 or 1
- which means false or true

Condition statements Decision making

Structured Programming

Structured Programming

Sequential Programming

Initialization

Initialization

Input

Calculation

?

Results

Relational Operators

- Decision making uses comparison of logical

variables - Comparison is done by creating logical

expressions

Format of SIMPLE Logical Expressions

expression1 relational-operator expression2

relational-operator Comparison

Is equal to

gt Is greater than

lt Is smaller than

gt Is greater or equal to

lt Is smaller or equal to

Is not equal to

ans 0

ans 0

gtgt AgtB

ans 1

gtgt AltB

ans 0

gtgt AgtB

ans 1

gtgt AltB

ans 1

gtgt AB

Logical Operators

Format of COMPOUND Logical Expressions (exp1

relational-op exp2) Logical operator (exp3

relational-op exp4)

Logical operator operation

and

or

xor or (exclusive)

not

A B C AB

0 0 0

0 1 1

1 0 1

1 1 1

(AB)

1

0

0

0

A B C AB

0 0 0

0 1 0

1 0 0

1 1 1

A B C xor(A,B)

0 0 0

0 1 1

1 0 1

1 1 0

(AB)

1

1

1

0

xor(A,B)

1

0

0

1

Logical Variables

ans 0

ans 0

gtgt (AltB) (AB)

gtgt (AB) (AgtB)

ans 0

ans 1

gtgt (AltB) (AB)

gtgt xor( (AB), (AltB) )

ans 1

ans 0

gtgt xor( (AB), (AltB) )

gtgt (AltB)

ans 0

gtgt (AgtB)

ans 1

gtgt (Agt0) (BgtA)

ans 1

gtgt (Agt0) (BgtA)(Blt0)

ans 0

Structured Programming

Format of if statement if Logical

Expression Statements

end

Format of if else statement if

Logical Expression Statement 1

else Statement 2

end

Structured Programming

Example iftest1.m

Program to test the if statement

1 Xinput(Enter value for x) if Xgt0

Ysqrt(X) fprintf(The squareroot of 3.2f

is 4.3f,X,Y) end

Initialization

Input X

False

If Xgt0

gtgtiftest1 Enter value for x 9 The squareroot of

9.00 is 3.0000

True

Calculate

Display Result

gtgtiftest1 Enter value for x -2 gtgt

End of script

Structured Programming

Example iftest2.m

Program to test the if statement

2 Xinput(Enter value for x) if Xgt0

Ysqrt(X) fprintf(The squareroot of 3.2f

is 3.4f ,X,Y) else disp(x is negative

there is no real result) end

Initialization

Input X

False

If Xgt0

gtgtiftest2 Enter value for x 3 The squareroot of

9.00 is 3.0000 gtgtiftest2 Enter value for x -2 x

is negative there is no real result gtgt

True

Calculate

Display NO Result

Display Result

End of script

Structured Programming

Format of if elseif else statement

if Logical Expression Statements

1 elseif Logical Expression

Statements 2 else

Statements 3 end

Structured Programming

Example iftest3.m

Program to test the if statement

3Xinput(Enter value for x)if Xgt0

disp(x is positive) elseif Xlt0 disp(x

is negative) else disp(x equal 0) end

Initialization

Input X

False

If Xgt0

False

True

If Xlt0

Display Result gt0

True

gtgtiftest3 Enter value for x 3 x is

positive gtgtiftest3 Enter value for x -2 x is

negative

Display Result lt0

Display Result 0

End of script

Structured Programming

nesting

- Problem
- Pick a random number N
- (-2ltNlt2)
- Calculate B

nested if statements example N

rand(1)4-2 if Ngt0 Alog(N) if

Agt0 Bsqrt(A) end end

nested if statements example N

rand(1)4-2 if Ngt0 Alog(N) if

Agt0 Bsqrt(A) end end

- If N positive calculate Alog(N)
- if A positive calculate Bsqrt(A)

Structured Programming

The SWITCH structure

switch variable case test1 Statement

1 case test2 Statement 2 .. otherwise

Statement n end

Switch

Statement3

Statement n

Statement1

Statement4

Statement2

The SWITCH structure

program to test switch Ainput('Your choice

1,2 3 ? ') switch A case 1

disp('Choice 1') case 2

disp('Choice 2') case 3

disp('Choice 3') otherwise

disp('Wrong choice') end

gtgt Testswitch Your choice 1,2 3 ? 1 Choice 1

gtgt Testswitch Your choice 1,2 3 ? 2 Choice 2

gtgt Testswitch Your choice 1,2 3 ? 3 Choice 3

gtgt Testswitch Your choice 1,2 3 ? 7 Wrong choice

Example1

- Write a script example.m to find roots of a

second order equation - ax2bxc0.
- When the script is executed it will
- ask the user enter the coefficients a,b,c
- calculate discriminant
- calculate the roots and display the case

according to sign of discriminant.

Example2

- Write a script that allows a user to enter a

string containing a day of a week (Sunday,

Monday etc) uses a switch construct to convert

the day to its corresponding number, where Monday

is the first day of the week. - Print out the resulting day number. Also be sure

to handle the case of an illegal day name.