возврат

Возврат управления вызову функции

Синтаксис

возврат

Описание

пример

return обеспечивает MATLAB®, чтобы возвратить управление в функцию вызова, прежде чем это достигнет конца функции. Функция вызова является функцией, которая вызывает скрипт или функцию, содержащую вызов return. Если вы вызываете функцию или скрипт, который содержит return непосредственно, нет никакой функции вызова, и MATLAB возвращает управление в командную строку.

Примечание

Будьте осторожны, когда вы используете return в условных блоках, таких как if или switch, или в цикле проверяют утверждения, такие как for или while. Когда MATLAB достигает оператора return, он только выходит из цикла; это выходит из скрипта или функции и возвращает управление в функцию вызова или командную строку.

Примеры

свернуть все

В вашей текущей рабочей папке создайте функцию, findSqrRootIndex, чтобы найти индекс первого возникновения квадратного корня из значения в массиве. Если квадратный корень не найден, функция возвращает 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

В командной строке вызовите функцию.

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

     6

Когда MATLAB сталкивается с оператором возврата, он возвращает управление в клавиатуру, потому что нет никакой функции вызова.

В файле returnControlExample.m, в вашей текущей рабочей папке, создает следующую функцию, чтобы найти индекс первого возникновения квадратного корня из значения в массиве. Это вызовы функции, findSqrRootIndex функционирует, вы создали в предыдущем примере.

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

В командной строке вызовите функцию.

returnControlExample(49)
Square root found at index 2

Когда MATLAB сталкивается с оператором return в findSqrRootIndex, это возвращает управление в функцию вызова, returnControlExample, и отображает соответствующее сообщение.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представлено до R2006a

Была ли эта тема полезной?