Моделирование в системе MATLAB. Часть 1. Основы работы в MATLAB. Терёхин В.В. - 69 стр.

UptoLike

Составители: 

67
Выделение остатка
строки
break
end
end
finish = i - 1;
token = string(start:finish);
if (nargout == 2)
remainder = string(finish+1:end);
end
Заметим, что порядок следования аргументов в выходном
списке имеет важное значение. Если при обращении к М-функции
выходной аргумент не указан, по умолчанию выводится первый аргу-
мент. Для формирования и вывода последующих аргументов требует-
ся организовать соответствующее обращение к М-функции.
Списки аргументов
Функции varargin и varargout позволяют передавать произ
-
вольное количество входных и выходных аргументов. Система
MATLAB упаковывает все заданные входные и выходные аргументы
в массив ячеек. Каждая ячейка может содержать любой тип и любое
количество данных.
Пример. Функция testvar допускает в качестве входных ар-
гументов любое количество векторов из двух элементов и выводит на
экран линии, их соединяющие.
function testvar(varargin)
for i = 1:length(varargin)
x(i) = varargin{i}(1);
y(i) = varargin{i}(2);
end
xmin = min(0, min(x));
ymin = min(0, min(y));
axis([xmin fix(max(x))+3 ymin fix(max(y))+3])
plot(x,y)
Таким образом, функция testvar может работать с входными списка-
ми разной длины.
Пример:
testvar([2 3], [1 5], [4 8], [6 5], [4 2], [2 3])
testvar([-1 0], [3 -5], [4 2], [1 1])
Формирование входного массива varargin. Поскольку спи-
сок varargin хранит входные аргументы в массиве ячеек, то необходи-
мо использовать индексы ячеек для извлечения данных. Индекс ячей-
ки состоит из двух компонентов:
Выделение остатка      break
строки                end
                    end
                    finish = i - 1;
                    token = string(start:finish);
                    if (nargout == 2)
                       remainder = string(finish+1:end);
                    end

        Заметим, что порядок следования аргументов в выходном
списке имеет важное значение. Если при обращении к М-функции
выходной аргумент не указан, по умолчанию выводится первый аргу-
мент. Для формирования и вывода последующих аргументов требует-
ся организовать соответствующее обращение к М-функции.

                           Списки аргументов
        Функции varargin и varargout позволяют передавать произ-
вольное количество входных и выходных аргументов. Система
MATLAB упаковывает все заданные входные и выходные аргументы
в массив ячеек. Каждая ячейка может содержать любой тип и любое
количество данных.
        Пример. Функция testvar допускает в качестве входных ар-
гументов любое количество векторов из двух элементов и выводит на
экран линии, их соединяющие.
        function testvar(varargin)
        for i = 1:length(varargin)
             x(i) = varargin{i}(1);
             y(i) = varargin{i}(2);
        end
        xmin = min(0, min(x));
        ymin = min(0, min(y));
        axis([xmin fix(max(x))+3 ymin fix(max(y))+3])
        plot(x,y)
Таким образом, функция testvar может работать с входными списка-
ми разной длины.
        Пример:
       testvar([2 3], [1 5], [4 8], [6 5], [4 2], [2 3])
       testvar([-1 0], [3 -5], [4 2], [1 1])

        Формирование входного массива varargin. Поскольку спи-
сок varargin хранит входные аргументы в массиве ячеек, то необходи-
мо использовать индексы ячеек для извлечения данных. Индекс ячей-
ки состоит из двух компонентов:
                                                                 67