Table of Contents
MATLAB (MATrix LABoratory) is a programming language developed by MathWorks in 1984. The purpose of writing MATLAB is to provide easy access to matrix software, which was developed by LINPACK (Linear System Package) and EISPACK (Eigen System Package) projects. It is a high-level programming language for numerical computation and programming.
MATLAB is a programming language environment with features like data structure, built-in editing, and debugging tools. It consists of built-in easy to use graphics commands to display results immediately available. It has various built-in commands and math functions that help in mathematical calculation and performing numerical methods.
Following are the features of MATLAB –
- It is a high-level programming language used to solve various numerical problems within seconds.
- It has a vast library of mathematical functions, operations, linear algebra, etc.
- Its interface provides tools to maximize performance and improve code quality.
- It consists of a built-in graphical interface for building applications.
MATLAB runs a command prompt tool to execute its output.
Type the below expression in the command prompt:
Type Ctrl+E and the answer will be returned as:
Functions in the program mean that it accepts inputs and return outputs. Both scripts and functions allow the reuse of commands by storing them into the program files. It provides flexibility because users can pass the input values and return output values. It runs faster as compared to others because it does not store temporary variables.
Functions must be defined within a program file but not at the command line. Following syntax is used to define functions.
function [y1,…,yN] = myfun(x1,…,xM)
Where y1,…,yN are outputs, x1,…,xM are inputs, and
myfun is the function name
Following are some basic rules to be followed for valid function names and saving the functions:
- Valid function names should start from alphabets, then contain a number, underscores.
- Name of the file must match with the first function name in the file.
- The script file name should be different from the function in the file.
- The end keyword is used to indicate the end of the function.
Types of Functions
Following are the various types of functions –
1. Anonymous Functions
An anonymous function is like an inline function that is defined within a single MATLAB statement. It consists of a single MATLAB expression. This function accepts multiple inputs and returns one output. The function that is not stored in a program file. This program file is associated with a variable whose data type is function_handle.
The basic syntax is
function_name = @ (variable_name) matlab_expression;
Where function_name is the name of the Anonymous function. Variable_name is the name of a variable. matlab_expression is a mathematical expression.
2. Local functions
MATLAB program files contain a code of multiple functions. The first function in the function file is called as the main function. This main function in one file can be visible to other functions of another file, i.e. the user can call it from the command line. Local functions are defined after the main function and can be visible to other functions in the same file.
For example, create a function file named mystatastic.m that contains a main function, mystatastic, and two local functions, mymeanf and mylocalf.
function [avg, med] = mystatastic(x)
n = length(x);
avg = mymeanf(x,n);
med = mylocalf(x,n);
function a = mymeanf(v,n)
% MYMEANF Example of a local function.
a = sum(v)/n;
function m = mylocalf(v,n)
% MYLOCALF Another example of a local function.
w = sort(v);
if rem(n,2) == 1
m = w((n + 1)/2);
m = (w(n/2) + w(n/2 + 1))/2;
The local functions mymeanf and mylocalf calculate the average and median of the input list. The main function mystatastic determines the length of the list n and passes it to the local functions.
3. Nested functions
A function within a parent function is called a nested function. It can be defined as functions within the body of another function.
Following is the syntax of nested function:
function x = A(p1, p2)
function y = B (p3)
For example, the function with name parentf contains the function nestedf
disp(‘This is the parent function’)
disp(‘This is the nested function’)
The advantage of nested functions is that they can access and modify variables that are defined in parent functions.
4. Private functions
Private function is useful when the user wants to limit the scope of a function. The function makes the subfolder under it, and it will be available only to the subfolder functions. This subfolder is named as private.
For example, create a subfolder with the name private. Within the private folder, create a file with the name examplefile.m.
% FINDME An example of a private function.
disp (‘You found the private function’)
Change to the folder that contains the private folder and creates a file named visible.m
Change your current folder to any location and call the visible function.
You found the private function.
5. Global variable
A variable that is declared as global in all the functions is called a global variable. It can be shared with one or more functions. To declare the global variable at the base workspace, declare the variable at the command line. The ‘global’ word should be mentioned before the variable which we are declaring as a global variable.
Following is the syntax of the global variable:
global var1 … varN
For example, create a function file with name avg.m and follow the below code:
function avgr = avg(nums)
avgr = sum(nums)/ALL;
Now, create a script file and follow the below code:
ALL = 10;
n = [34, 45, 25, 45, 33, 19, 40, 34, 38, 42];
av = average(n)
The following result will be displayed:
av = 35.500
MATLAB functions can be used as an integral part of programming language. They can be assessed globally by using global variables and can be used privately by using private functions. It can fulfill all the requirements of an organization because of its numerous unique features.
If you’re interested to learn more about MATLAB, machine learning, and its relevant topics, check out IIIT-B & upGrad’s PG Diploma in Machine Learning & AI which is designed for working professionals and offers 450+ hours of rigorous training, 30+ case studies & assignments, IIIT-B Alumni status, 5+ practical hands-on capstone projects & job assistance with top firms.