return - Return control to invoking script or function - MATLAB (original) (raw)

Main Content

Return control to invoking script or function

Syntax

Description

return forces MATLAB® to return control to the invoking program before it reaches the end of the script or function. The invoking program is a script or function that calls the script or function containing the call to return. If you call the script or function that contains return directly, there is no invoking program and MATLAB returns control to the command prompt.

Note

Be careful when you use return within conditional blocks, such as if or switch, or within loop control statements, such as for orwhile. When MATLAB reaches a return statement, it does not just exit the loop; it exits the script or function and returns control to the invoking program or command prompt.

example

Examples

collapse all

Return Control to Keyboard

In your current working folder, create a function, findSqrRootIndex, to find the index of the first occurrence of the square root of a value within an array. If the square root is not found, the function returns NaN.

function idx = findSqrRootIndex(target,arrayToSearch)

idx = NaN; if target < 0 return end

for idx = 1:length(arrayToSearch) if arrayToSearch(idx) == sqrt(target) return end end

At the command prompt, call the function.

A = [3 7 28 14 42 9 0]; b = 81; findSqrRootIndex(b,A)

When MATLAB encounters the return statement, it returns control to the keyboard because there is no invoking script or function.

Return Control to Invoking Function

In a file, returnControlExample.m, in your current working folder, create the following function to find the index of the first occurrence of the square root of a value within an array. This function calls the findSqrRootIndex function you created in the previous example.

function returnControlExample(target) arrayToSearch = [3 7 28 14 42 9 0]; idx = findSqrRootIndex(target,arrayToSearch);

if isnan(idx)
    disp('Square root not found.')
else
    disp(['Square root found at index ' num2str(idx)])
end

end

At the command prompt, call the function.

Square root found at index 2

When MATLAB encounters the return statement within findSqrRootIndex, it returns control to the invoking function, returnControlExample, and displays the relevant message.

Extended Capabilities

C/C++ Code Generation

Generate C and C++ code using MATLAB® Coder™.

Thread-Based Environment

Run code in the background using MATLAB® backgroundPool or accelerate code with Parallel Computing Toolbox™ ThreadPool.

This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.

Version History

Introduced before R2006a