Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

12. Mathematica. Функции, определяющие свойства атомарных объектов.




12. Mathematica. Функции, определяющие свойства атомарных объектов.

IntegerQ, EvenQ, OddQ, PrimeQ, Positive, Negative, Nonnegative, NumberQ, NumericQ, StringQ.

13. Mathematica. Встроенные константы и предопределенные переменные пакета.

Константы - это атомарные выражения, несущие заранее опреде­ленные значения. Числовые константы представлены числом одного из типов: Integer, Rational, Real, Complex. Строковые константы заключены в кавычки, что и определяет их тип String. Именем такой константы является ее значение. В системе также есть ряд констант, имеющих имя, являющееся символом, и значение, представленное числом. Такие константы назы­вают встроенными. Head /@ {Catalan, EulerGamma, GoldenRatio, Pi, Е, De­gree} {Symbol, Symbol, Symbol, Symbol, Symbol, Symbol} 

FullForm /@ {Catalan, EulerGamma, GoldenRatio, Pi, E, Degree} {Catalan, EulerGamma, GoldenRatio, Pi, E, Degree}

Приближенные значения встроенных констант можно получить при помощи функции N.

N /@ {Catalan, EulerGamma, GoldenRatio, Pi, Е, Degree} {0. 915966, 0. 577216, 1. 61803, 3. 14159, 2. 71828, 0. 017453}

Предопределенные переменные служат для управления режимом функционирования пакета. Их имя начинается с символа $. По имени пе­ременных, как правило, можно судить об их назначении.

Что обозначает переменная Ее имя в системе Ее значение
Минимальное представимое число $MinMachineNumber 2, 2*10-308
Максимальное представимое число $MaxMachineNumb er 8, 9*10307
Число десятичных цифр точности вычислений $MachinePrecision
Точность различения двух чисел $MachineEpsilon 2*10-16
Предельное количество итераций $IterationLimit
Предельная глубина рекурсии $RecursionLimit

14. Mathematica. Оператор Apply и семейство операторов Map.

Функция Арply[head, expression, levelspec] меняет голову выражения expresssion на голову head, при указании третьего аргумента определяются уровни, на которых происходит замена. Если меняется голова исходного выраже­ния, удобно использовать операторную форму функции  Head @@ Expression при этом выражение Expression, когда оно громоздкое, лучше заключать в круглые скобки ( ). Ниже приведены несколько примеров использова­ния функции Apply.

Наряду со встроенными функциями, Mathematica предлагает сред­ства, позволяющие пользователю определять и применять функции, от­сутствующие в пакете, но необходимые для выполнения тех или иных исследований. Это функции-операторы Map-группы. Они определяют способ применения указанной функции к заданному выра­жению.

Функция Map [function, expression, levelspec] действует функцией function на подвыражения выражения expression, указываемые специфи­катором уровней levelspec. Если третий аргумент опущен, по умолчанию действие функции function распространяется только на каждый элемент первого уровня. Этого же результата можно добиться, используя операторную фор­му записи функции Map /@. Оператор /@ можно прочитать так: «дейст­вуй на каждое подвыражения первого уровня».

Функция Map All [function, expression] действует функцией function на каждое подвыражение каждого уровня. Фактически это соответствует значению Infinity спецификатора уровней. Операторная форма функции function ll@ expression,         

а результат вычисления такой f//@{{a, Ь}, {с, d}}   

Если же функция function должна быть применена выборочно к оп­ределенным подвыражениям выражения expression, то используют функцию Map At [function, expression, positionList]. Указанный третьим аргументом список определяет позиции тех подвыражений, на которые нужно подействовать функцией function.

Функция Maplndexed [function, expression, levelspec] действует так же, как функция Map, но возвращает дополнительную информацию: по­зицию каждого элемента, на который было произведено действие. Maplndexed[f, {{a, b}, {c, d}}, 2]

Функция MapThread[function, {exprl, expr2,..., exprn}, levelspec] применяет function к подвыражениям выражения expression! на уровнях levelspec, по умолчанию - только на первом уровне. Иногда для получения результата достаточно поменять голову вы­ражения - и оно будет вычислено должным образом.

15. Mathematica. Укажите четыре формы записи функций.

Возможны четыре основные формы записи выражений:

 f [х, у] — стандартная форма для f [х, у];

 f @ х — префиксная форма для f [ х ];

 х / / f — постфиксная форма для f [ х ];

 х ~ f ~ у — инфиксная форма для f [ х, у ].

16. Mathematica. Чистые и анонимные функции.

Для абстрактного представления функций, рассчитанных на их ис­пользование только в момент создания, существует встроенная функция Function [variablesList, body(variables)]. Первый аргумент этой функции указывает список переменных, необходимых для выполнения закона, второй аргумент второй аргумент представляет сам закон - тело функции body(variables). Такую функцию, которую используют, не присваивая ей имени, называют чистой функцией.

Существует еще более абстрактная, но очень компактная и удобная форма представления чистой функции, которую называют анонимной. В этой форме записи вместо переменных используется специальное выра­жение Slot[n], входная форма которого #п. Его можно прочитать как «переменная номер n». Когда создается функция одной переменной, за­писывают просто #, номер можно не указывать. Общий вид чистой функции

body(#l, ..., #n)&

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...