CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT Overview • So far we have seen how to define basic mathematical expressions and how to manipulate arrays and matrices • Now we will look at script files and functions. They are useful for storing sets of commands and defining them apriori. Also an important step before we get into programming with control and flow operators • Today: chapters 4 and 6 Scripts • Used for writing programs • Script variables are global. They can be accessed and modified from anywhere Creating scripts Editor for scripts Running script Output of script Script for mean of three numbers Output of mean script fprintf command • A powerful command • General syntax fprintf(‘text as string %-5.2f additional text’, variable name) Formatting elements Updated mean script Output of updated mean script Writing to a file • fid = fopen(‘file_name’, ‘permission’) • File permissions – r = open for reading – w = open for writing (if file exists then content is deleted) – a = open for appending Mean script output to file Mean script output to file Output file of mean script Function files Input data Function File 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 memory space accessible by all scripts and functions Local space for function A Local space for 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