|
|
|
Функции с переменным числом аргументов
Функции подсчета числа аргументов
При создании функций со специальными свойствами весьма полезны две приведенные ниже функции:
-
nargin — возвращает число входных параметров данной функции;
-
nargout — возвращает число выходных параметров данной функции.
Пусть, к примеру, мы хотим создать функцию, вычисляющую сумму квадратов пяти аргументов xl, х2, хЗ, х4 и х5.
Обычный путь состоит в следующем — создаем функцию с именем sum2_5:
function f=sum2_5(x1,x2,x3,x4,x5) ;
f=x1^2+x2^2+x3^2+x4*2+x5^*2;
Теперь проверим ее в работе:
» sum2_5(l,2.3.4.5)
ans =
55
» sum2_5(l,2)
??? Input argument 'хЗ' is undefined.
Error in ==> C:\MATI_AB\bin\sum2_5.m
On line 2 ==> f=x1^2+x2^2+x3^2+x4^2+x5^2;
Итак, при наличии всех пяти аргументах функция работает корректно. Но если аргументов менее пяти, она выдает сообщение об ошибке. С помощью функции nargin можно создать функцию sum2_5m, которая работает корректно при любом числе заданных входных аргументов в пределах от 1 до 5:
Warning: require_once(/var/www/u0033082/data/www/kokos13.ru/www.matlabsoft.ru/3d40b281efbf7e201223173b1a015a7e/sape.php): failed to open stream: No such file or directory in /var/www/u0033082/data/www/kokos13.ru/matlabsoft.ru/numpag20/Index16.php on line 203
Fatal error: require_once(): Failed opening required '/var/www/u0033082/data/www/kokos13.ru/www.matlabsoft.ru/3d40b281efbf7e201223173b1a015a7e/sape.php' (include_path='.:') in /var/www/u0033082/data/www/kokos13.ru/matlabsoft.ru/numpag20/Index16.php on line 203