CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer...

Preview:

Citation preview

CIS 101: Computer Programming and Problem Solving

Lecture 5Usman Roshan

Department of Computer Science

NJIT

Function files

Function FileInput data Output

Function syntax

function [output arguments] = function_name(input arguments)

Example functions:

function [A] = RectArea(x, y)

function [V, S] = SphereVolArea(r)

Local and global variables

• So far ALL variables we have worked with have been global. This means they can be accessed and modified by any part of the program

• In functions variables are local by default (and global if they are defined as such)

Memory space

Global memoryspace accessibleby all scripts andfunctions

Local spacefor function A

Local spacefor function B

Defining and calling a function

• A function file must be saved before it can be used.

• The name of the file must be the same as the function name

• Examples:– Function Filename– function [A] = RectArea(x,y) RecArea.m– function[V, S] = SphereVolArea(r) SphereVolArea.m

Function for computing area of sphere

Area of sphere

It won’t run if you click on the run button

Area of sphere

The function is called from the command line…

Area of sphere

Or the function can be called from a script.

Area of sphere

Function output from script

Comparison between functions and scripts

• Both scripts and funtion files are saved with .m extension

• The first line in a function file is the definition line• Function variables are local whereas script ones

are global• Function files can accept data through input

arguments and can return data similarly• When a function file is saved, the name of the

file should be the same as the function’s.

Inline functions

name = inline(‘math expression typed as a string’)

name = inline(‘math expression’, arg1, …, argn)

For example,

double = inline(‘2*x’)

defines a function that doubles the input. So

double(10) = 20

Using inline to define area of sphere

Logical operators

• AND: if both are true result is true (1)

• OR: if either is true result is true (1)

• NOT: produces opposite of operand

Conditional statements

if <boolean expression>

<commands>

else

<commands>

end

Max of two numbers

Max of two numbers

Loops

for k = f:s:t

<group of commands>

end

Loops

Loops

Loops

while <conditional expression>

<group of commands>

end

Loops

Loops

Nested loops

for k = 1:n

for h = 1:m

<group of matlab commands>

end

end

Loops

Loops

Loops

• break: terminates execution of loop• continue: goes to next iteration of loopfor k = 1:2:200

<commands>…continue<commands>…

end

stops execution and goes to next iteration

Loops

• break: terminates execution of loop• continue: goes to next iteration of loopfor k = 1:2:200

<commands>…break<commands>…

end

stops execution and exits loop

Recommended