Встроенные функции
Встроенные функции
Важнейшим объектом любой компьютерной математической системы является функция. Она отражает зависимость некоторой величины от одного или нескольких аргументов. Например, функция sin(x) дает зависимость синуса х от величины аргумента х при изменении последнего от -°° до +°°. Признаком функции является возврат результата выполняемого ею действия. Характер результата будет зависеть от смысла функции, который нередко явно указывается ее именем — идентификатором. Например, функция Digitslnteger [n] возвращает число десятичных цифр десятичного целого числа. Это ясно из прямого перевода имени функции — слово Digitslnteger говорит о том, что она возвращает число цифр целого числа. Подобные смысловые имена задаются для большинства функций системы Mathematica и облегчают их запоминание. Понятие функции в системе Mathematica существенно расширено — функции могут возвращать графические и даже звуковые объекты. Здесь мы, однако, остановимся на общепринятом в программировании понятии функций, возвращающих в ответ на обращения к ним численные или символьные значения. Функции могут входить в состав математических выражений. Обычно они имеют один или несколько параметров, указываемых в квадратных скобках. Если параметров несколько, то в квадратных скобках указывается список параметров, разделенных запятыми. В общем случае параметрами могут быть списки. Наконец, в состав функций могут входить опции, указанные своим именем и (после знака ->) значением. Для обозначения положительной бесконечности используется символ Infinity. Целочисленные функции имеют в своем имени слово Integer. В ядро систем Mathematica 3/4 входит множество встроенных функций, то есть функций, готовых к немедленному использованию без какого-либо предварительного объявления. Таких функций многие сотни. Среди них различные арифметические функции, тригонометрические и гиперболические функции, специальные математические функции и т. д. Мы рассмотрим их в дальнейшем.
Основные арифметические функции
Для выполнения арифметических действий в системах Mathematica 3/4 определены следующие арифметические функции:- Divide [х, у] — возвращает результат деления х на у эквивалентно выражению х у ^ -1;
- Plus[x, у,...] — возвращает сумму элементов списка;
- PowerModta, b, n] — возвращает Mod[a ^ b, n]. Для b<0 возвращает инверсию остатка;
- Times [х, у,...] — возвращает произведение аргументов х*у*...;
- Mod [m, n] — возвращает остаток от деления m на п. Результат имеет такой же знак, как п.
Ввод (In) | Вывод (Out) |
Divide [1. ,3] | 0.333333 |
Mod [123, 20] | 3 |
Mod [123, -20] | -17 |
Mod[-123,20] | 17 |
Plus[2,3,4] | 9 |
Times [2, 3,4] | 24 |
Пример обмена переменных значениями:
а=1;b=2; {а,b}={b,а}; {а,b} {2, 1} Следующие функции служат для приведения вещественных чисел к ближайшим целым по определенным правилам:- Ceiling [х] — возвращает значение наименьшего целого числа, большего или равного х;
- Floor [х] — возвращает наибольшее целое число, не превышающее данного х;
- Quotient [n, m] — возвращает целое значение n/m, определяемое как Floor[n/m];
- Round [х] — округляет х до ближайшего целого.
Ввод (In) | Вывод (Out) |
Ceiling [{-5. 9, -5..1, 5, 5.1, 5.9}] | {-5, -5, 5, б, 6} |
Floor [{-5. 9, -5.1,, 5, 5.1, 5.9}] | {-6, -6, 5, 5, 5} |
Round[{-5.9, -5.1,, 5, 5.1, 5.9}] | {-6, -5, 5, 5, 6} |
- Divisors [n] — возвращает список целочисленных делителей числа п;
- DivisorSigma [k, n] — возвращает сумму &-х степеней положительных делителей числа п;
- ExtendedGCD [n, m] — возвращает расширенный наибольший общий делитель целых чисел пит;
- GCD [nl,n2,...] — возвращает наибольший общий делитель целых чисел ni;
- LCM[nl, n2,...] — возвращает наименьшее общее кратное целых чисел ni.
Ввод (In) | Вывод (Out) |
LCM[124,12,6] | 372 |
GCD [144, 12, 6] | 6 |
Divisors [123] | {1,3,41,123} |
DivisorSigma [17,3] | 129140164 |
ExtendedGCD [144,12] | {12, {0,1}} |
- Factorial [n] или n! — возвращает значение факториала числа n (n!=n* (n-1) *...*3*2*1, причем 0 !=1 и 1 !=1);
- Factorial2 [n] или n! ! — возвращает значение двойного факториала числа п, равное п* (n-2) * (n-4) *...«%»
Ввод (In) | Вывод (Out) |
Factorial [10] | 3628800 |
20! | 2432902008176640000 |
10!! | 3840 |
20!//N | 2.4329Х10 18 |
- Prime [n] — возвращает п-е простое число. Например, Prime [5] возвращает пятое простое число — 11. Всего лишь доли секунды требуются системе для вычисления миллиардного простого числа: Рг1те[10 Л 9] дает 22801763489;
- PrimePi [x] — возвращает количество простых чисел, не превышающих х. Например, PrimePi [10] возвращает 4;
- Partitions? [n] — возвращает числор(п) неупорядоченных разбиений целого числа п. Например, Partitions? [10] возвращает 42;
- PartitionsQ [n] — возвращает q(n) — число разбиений с неравными частями для целого числа п. Например, PartitionsQ [15] возвращает 27.
Функции генерации случайных чисел
Для реализации статистических методов моделирования используются случайные числа. Система имеет генератор псевдослучайных чисел, доступ к которому обеспечивают следующие функции:- Random [ ] — возвращает равномерно распределенное псевдослучайное число типа Real в интервале от 0 до 1;
- Random [type, range] — дает псевдослучайное число указанного типа type, лежащее в указанном интервале range. К возможным типам относятся Integer, Real и Complex. По умолчанию принят интервал от 0 до 1. Можно задать интервал явно в виде {min, max}; спецификация интервала в виде max эквивалентна {0, max};
- SeedRandom[n] — сбрасывает (устанавливает в начальное состояйие) генератор случайных чисел, используя целое п как начальное число;
- SeedRandom [ ] — устанавливает генератор, используя в качестве начального числа текущее время.