double arrow

Системные переменные и константы

Как отмечалось ранее, в состав объектов MATLAB входит ряд системных пере­менных и констант, значения которых устанавливаются системой при ее загрузке или автоматически формируются в процессе вычислений. Описание таких объектов приводится ниже.

- ans — результат выполнения последней операции. Переменная ans создается автоматически, когда не определены выходные аргументы какого-либо опера­тора. Пример:

» cos([0:2*pi])

ans = 1.0000 0.5403 -0.4161 -0.9900 -0.6536 0.2837 0.9602

- computer — возвращает строку с информацией о типе компьютера, на котором установлена система MATLAB;

- [str.maxsize] = computer — возвращает строку str с информацией о компьюте­ре и целое число maxsize, содержащее максимально допустимое число элемен­тов матрицы для данной версии MATLAB. Пример:

» [str.maxsize] = computer

str = PCWIN

maxsize = 268435455

- eps — возвращает интервал между числом 1.0 и следующим ближайшим чис­лом с плавающей запятой, которое воспринимается как отличное от 1.0. Зна­чение eps определяет заданный по умолчанию порог для функций pinv и rank, а также для некоторых других функций. На машинах с арифметикой с плава­ющей запятой eps = 2^(-52), что приблизительно составляет 2.22е-16. Пример:

» eps

ans = 2.2204е-016

- i или j— мнимая единица (равная sqrt(-1)), которая используется для зада­ния мнимой части комплексных чисел. Символ i при задании комплексной константы можно использовать без знака умножения. В качестве мнимой еди­ницы можно также использовать символ j. Пример:

» w=3+5i

w = 3.0000 + 5.0000i

- Inf — возвращает представление положительной бесконечности для машин­ной арифметики. Бесконечность следует из операций, подобных делению нануль, и переполнения, которое ведет к результатам, слишком большим, чтобы их можно было представить в виде числа с плавающей запятой. Пример:

» 4/0

Warning: Divide by zero, ans =

Inf

Переменным i и j можно задать и иное значение, например, они могут выступать в ка­честве индексов в циклах for. Однако это чревато путаницей, если внутри цикла пользо­ватель задает выражения с комплексными числами.

- inputname(argnum) — возвращаете тело функции название переменной рабочей области, соответствующее аргументу с номером argnum. Может использоваться только внутри тела функции. Если входной аргумент не имеет никакого сим­вольного представления (например, если это выражение или функция, даю­щая на выходе выражение, например а(1), varargin{:}, eval(expr), а не пере­менная), функция inputname возвращает пустую строку ("");

- j — мнимая единица. Символ j можно использовать в качестве мнимой еди­ницы наряду с i. Как мнимая единица (равная sqrt(-1) символ j использует­ся для задания мнимой части комплексных чисел. Все сказанное о символе i относится и к j. Пример:

» s=4-3J

s = 4.0000 - 3.0000i

- NaN — возвращает представление для нечисловых величин, например, в случае операций, которые имеют неопределенные численные результаты. Пример:

» s=0/0

Warning: Divide by zero.

s = NaN

Функция 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 = nargoutchk(low.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(1og(-l)) выдают тот же результат. Пример:

» pi

ans = 3.1416

- realmax — возвращает самое большое число в формате с плавающей запятой, соответствующее конкретному компьютеру. Большее значение соответствует системной переменной Inf. Пример:

» n = realmax

n = 1.7977е+308

- realmin — возвращает наименьшее нормализованное положительное число в формате с плавающей запятой, представимое на конкретном компьютере. Любое меньшее число воспринимается как ноль. Пример:

» n = realmin

n = 2.2251е-308

Переменные varargin и varargout позволяют использовать в функциях перемен­ное число входных и выходных параметров:

- varargout = foo(n) — возвращает список выходных параметров переменной длины функции foo;

- у = function bar (varargin) — принимает переменное число аргументов в функ­цию bar.

Переменные varangin и varargout используются только внутри m-файлов функ­ции для задания произвольных аргументов функции. Эти переменные должны быть последними в списке входов или выходов, а для их обозначения могут ис­пользоваться только строчные буквы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: