Understanding MATLAB Script and Function Files, Slides of Computer Engineering and Programming

An introduction to matlab script and function files. It explains how to create and execute matlab scripts and functions, and discusses the differences between them. The document also covers how to handle file locations and variable scopes in matlab.

Typology: Slides

2012/2013

Uploaded on 05/06/2013

apsara
apsara 🇮🇳

4.5

(2)

86 documents

1 / 17

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
MATLAB: Script and Function
Files
Lecture 19
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Understanding MATLAB Script and Function Files and more Slides Computer Engineering and Programming in PDF only on Docsity!

MATLAB: Script and Function

Files

Lecture 19

MATLAB Script Files

  • A MATLAB script file (Called an M-file) is a text

(plain ASCII) file that contains one or more

MATLAB commands and, optionally, comments.

  • The file is saved with the extension ".m".
  • When the filename (without the extension) is

issued as a command in MATLAB, the file is

opened, read, and the commands are executed as

if input from the keyboard. The result is similar

to running a program in C. The following slide is

the contents of an M-file. Note that there are no

prompts (>>).

MATLAB Script Files

  • The preceding file is executed by issuing a

MATLAB command:

>> g

  • This single command causes MATLAB to look in

the current directory, and if a file g13.m is found,

open it and execute all of the commands. The

result, in this case, is a plot of the data from

g13.dat.

  • If MATLAB cannot find the file in the current

working directory, an error message will appear.

MATLAB Script Files

• When the file is not in the current working

directory, a cd or chdir command may be

issued to change the directory.

>> cd a:\ % Make a:\ the current working

directory

>> g

MATLAB Function Files

• A MATLAB function file (called an M-file) is a

text (plain ASCII) file that contains a MATLAB

function and, optionally, comments.

• The file is saved with the function name and

the usual MATLAB script file extension, ".m".

• A MATLAB function may be called from the

command line or from any other M-file.

MATLAB Function Files

  • When the function is called in MATLAB, the file is

accessed, the function is executed, and control is

returned to the MATLAB workspace.

  • Since the function is not part of the MATLAB

workspace, its variables and their values are not

known after control is returned.

  • Any values to be returned must be specified in

the function syntax.

MATLAB Function Files

• It is OK to use the same variable names in the

returned value list as in the argument. The

effect is to assign new values to those

variables. As an example, the following slide

shows a function that swaps two values.

Example of a MATLAB Function File

function [ a , b ] = swap ( a , b )

% The function swap receives two values, swaps them,

% and returns the result. The syntax for the call is

% [a, b] = swap (a, b) where the a and b in the ( ) are the

% values sent to the function and the a and b in the [ ] are

% returned values which are assigned to corresponding

% variables in your program.

temp=a;

a=b;

b=temp;

MATLAB Function Files

• Referring to the function, the comments

immediately following the function definition

statement are the "help" for the function. The

MATLAB command:

>>help swap %displays:

The function swap receives two values, swaps

them,

and returns the result. The syntax for the call is

[a, b] = swap (a, b) where the a and b in the ( )

are the Docsity.com

MATLAB Function Files

• The MATLAB function must be in the current

working directory. If it is not, the directory

must be changed before calling the function.

• If MATLAB cannot find the function or its

syntax does not match the function call, an

error message will appear. Failure to change

directories often results in the error message:

Undefined function or improper matrix Docsity.com

MATLAB Function Files

• Unlike C, a MATLAB variable does not have to

be declared before being used, and its data

type can be changed by assigning a new value

to it.

• For example, the function factorial ( ) on the

next slide returns an integer when a positive

value is sent to it as an argument, but returns

a character string if the argument is negative.

MATLAB Function Files

function [n] = factorial (k)

% The function [n] = factorial(k) calculates and

% returns the value of k factorial. If k is negative,

% an error message is returned.

if (k < 0) n = 'Error, negative argument';

elseif k<2 n=1;

else

n = 1;

for j = [2:k] n = n * j; end

end Docsity.com