Системные переменные и константы
Функция nargchk часто используется внутри m-файлов для проверки соответствия количества входных параметров (аргументов):
- msg = nargchk(low.high.number) – возвращает сообщение об ошибке, если число number меньше, чем low, или больше, чем high, в противном случае возвращается пустая строка. Пример:
>
>
msg
=
nargchk(
4.9.5
)
msg
=
[ ]
>
>
msg
=
nargchk(
4.9.2
)
msg
=
Not enough input arguments.
- msg = nargoutchkdow,high.number) – возвращает сообщение об ошибке, если число number выходных параметров (выходных аргументов в терминологии MATLAB) меньше, чем low, или больше, чем high, в противном случае возвращается пустая строка.
Еще две функции позволяют определить число входных и выходных параметров функции:
- nargin – возвращает число входных аргументов, определенных для функции. Внутри тела m-файла функции nargin и nargout указывают соответственно количество входных или выходных аргументов, заданных пользователем. Вне тела m-файла функции nargin и nargout показывают соответственно число входных или выходных аргументов для данной функции. Отрицательное число аргументов означает, что функция имеет переменное число аргументов;
- nargin(@fun) – возвращает число объявленных входных параметров для функции fun. Если функция имеет переменное число входных аргументов, возвращается -1;
- nargout – возвращает число выходных параметров, определенных для функции;
- nargout('fun') – возвращает число объявленных выходных параметров для функции fun.
Применение этих функций мы рассмотрим немного позже при описании структуры функций.
Продолжаем перечисление системных переменных:
- pi – число р (отношение длины окружности к ее диаметру), pi возвращает число с плавающей запятой, ближайшее к значению р. Выражения 4*atan(l) и imag(log(-1)) выдают тот же результат. Пример:
>
>
pi
ans
=
3.1416
- real max – возвращает самое большое число в формате с плавающей запятой, соответствующее конкретному компьютеру. Большее значение соответствует системной переменной Inf. Пример:
>
>
n
=
real max
n
=
1.7977e
+
308
- real min – возвращает наименьшее нормализованное положительное число в формате с плавающей запятой, представимое на конкретном компьютере. Любое меньшее число воспринимается как ноль. Пример:
>
>
n
=
realmin
n
=
2.2251e
-
308
Переменные varargin и varargout позволяют использовать в функциях переменное число входных и выходных параметров:
- varargout = foo(n) – возвращает список выходных параметров переменной длины функции foo;
- у = function bar(varargin) – принимает переменное число аргументов в функцию bar.
Переменные varargin и varargout используются только внутри m-файлов функции для задания произвольных аргументов функции. Эти переменные должны быть последними в списке входов или выходов, а для их обозначения могут использоваться только строчные буквы. Использование этих возможностей мы рассмотрим несколько позже.