Presentation is loading. Please wait.

Presentation is loading. Please wait.

EGR 106 – Week 8 Data Files & Functions Interacting with Data Files Functions – Concept – Examples and applications Textbook chapter 4.4-4.6.1, 4.7-4.8.

Similar presentations


Presentation on theme: "EGR 106 – Week 8 Data Files & Functions Interacting with Data Files Functions – Concept – Examples and applications Textbook chapter 4.4-4.6.1, 4.7-4.8."— Presentation transcript:

1 EGR 106 – Week 8 Data Files & Functions Interacting with Data Files Functions – Concept – Examples and applications Textbook chapter 4.4-4.6.1, 4.7-4.8 and chapter 6.1-6.7, 6.10

2 Saving data: – save filename – save filename array1 array2 – save filename –ascii Reading in (loading) data: – load filename – load filename array1 array2 – load filename –ascii Importing/Exporting Data Can Independently Create Data File in Most Any Program such as: Word, WordPad, Notepad

3 Can Easily Create Data Files in Notepad Simply Type in Numbers and Save Save File for Future Use

4 Function Concept So far: – Have used Matlab’s built-in functions – Have started writing scripts Function ≡ computes an output from an input – Reusable script – Sometimes called a subprogram – Building block for larger programs Example: converting degrees to radians

5 Example Function: DEG2RAD

6 Usage: Syntax is just like a built-in functions Application is independent of the variable names within the function (x,y) Executed by typing name (input)

7 Rules for Functions First line of the file must be of the form: function [outputs] = name(inputs) Identifies a function file List of function result variables List of any variables that the function needs Name of the function and the file (name.m)

8 inputs: – Used to transfer data into the function from the workspace Workspace variables are unavailable within the function Any necessary variables must be brought in – For multiple inputs: Separate them by commas Order is important – Examples of built-in functions with inputs: sum(x)plot(x,y)

9 outputs: – Used to transfer results back into the workspace from the function – For multiple outputs: Separate them by commas in brackets Order is important – Output variables must be assigned – Examples of built-in functions with outputs: y = sum(x) [value,location] = max(x)

10 Note – brackets on the left only make sense for functions: [value,location] = max(x) is okay [value,location] = [ 1, 2 ] is not Default output is the first one: [value,location] = max(x) value = max(x)

11 Comments in lines 2, …: – Words in line 2 are searched when lookfor is employed – Comments in lines 2, 3, … are returned when help name is executed

12 Variables: Local vs Global Usually, once created, variables are available in the workspace until cleared Functions create their own workspace with their own local variables distinct from those in the original workspace – Functions cannot modify variables within the original workspace – except through outputs – Exception – global variables can span both workspaces and be manipulated in both

13 Example Functions Consider a script to compute the area of a triangle First as a script …

14

15 Now as a function:

16 Usage doesn’t depend on knowing parameter names internal to the program:

17 Could add the perimeter calculation as a second, optional output:

18 My plotting function:

19

20 Can stack functions in one file (all must be functions) Useful for mailing and testing Must start m-file with function... that could be a main program used to call other functions

21 Typical Errors Too few inputs

22 Too many inputs Too many outputs Wrong input type – funny result

23 Application f(x) = 2e -x sin(x)+e -x/2 sin(2x) Find its minimum and the first root beyond zero x = ? f(x) = ?

24 Solution using Matlab Construct a function m-file for f(x)

25 To find the root: fzero('fun',a) (a = nearby value) To find the minimum: fminbnd('fun',a,b) (a,b = range)


Download ppt "EGR 106 – Week 8 Data Files & Functions Interacting with Data Files Functions – Concept – Examples and applications Textbook chapter 4.4-4.6.1, 4.7-4.8."

Similar presentations


Ads by Google