17. Mathematica. Построение функции пользователя.
17. Mathematica. Построение функции пользователя. В Mathematica возможно определение новых функций, выполняющих необходимые действия. Эти функции называют функциями пользователя. Их задают традиционным способом, в привычной нам математической нотации. В левой части выражения записывается имя функции и ее формальные аргументы, в правой части- тело функции, между частями - оператор, позволяющий определить указанное правило. 18. Mathematica. Что такое образцы и где они используются. Проверка на соответствие образцу Образец (Pattern) в Mathematica означает выражение, описывающее много выражений, класс выражений. По виду образца определяют, какое множество выражений указано. Существуют правила построения образцов, описывающих различные классы выражений. Отличительная особенность выражения, являющегося образцом - наличие символа _. Полная форма этого символа Blank [ ]. Любое выражение обозначают _. Если требуется описать множество, состоящее из одного или нескольких выражений, используют два символа подчеркивания. Самое широкое множество описывается с помощью трех символов подчеркивания, которые означают или ничего, или одно выражение, или несколько выражений. Функция MathQ [expression, pattern]. Она проверяет данное выражение на соответствие указанному образцу. Это булева функция, которая возвращает значение True, если выражение соответствует указанному образцу, и False в противном случае. 19. Mathematica. Семейство Set функций. 20. Mathematica. Организация справочной системы 21. Mathematica. Именование образца и его части. Примеры Образцу можно присваивать имя. Для этого используют идентификатор, располагая его слева от символа Blank xxx_Head? Test. Выражение описывает множество выражений, имеющих указанную голову Head и возвращающих значение True на булевой функции Test. Символ ххх указывает, что в дальнейшем любое выражение, удовлетворяющее этим свойствам, будет именоваться ххх. Например, выражение n_Integer? EvenQ описывает некоторое четное целое число, именуемое в дальнейшем п; xReal - некоторое число типа Real, именуемое в дальнейшем х. Иногда в образцах, имеющих сложную структуру, нужно именовать только часть. Имя части образца помещается перед именуемой частью и отделяется двоеточием PatternName: Pattern. Например, Convex [1, {Р: {_? NumericQ, _? NumericQ}}, rest ]. Здесь имеется в виду выражение с головой Convex, имеющее своим первым аргументом число 1, вторым - список, состоящий из одного списка по имени Р, третьим и следующими аргументами - некоторое выражение или последовательность выражений, которые именуются в дальнейшем rest.
22. Mathematica. Образцы, соответствующие условию. Примеры В Mathematica можно описывать множества выражений путем построения необходимых логических высказываний. Для этого используют встроенную функцию Condition. Ее инфиксная операторная форма /;. Выражение Pattern /; Condition. читается так: «выражение, соответствующее образцу Pattern, вычисляется в случае, когда выражение Condition истинно». Некоторые примеры построения образцов: х_/; NumberQ[x] некоторое число х_ /; NumberQ[x]& & Im[x]=0 некоторое вещественное число xList /; VectorQ[x] вектор, не содержащий подсписков xList /; VectorQ[x, NumberQ] вектор с элементами-числами xList /; MatrixQ[x] матрица, не содержащая подсписков xList /; MatrixQ[x, NumberQ] матрица чисел Условие может указываться в различных местах: или в момент определения образца, или в момент его использования. Factorial[n_Integer /; n > 0]: = n! Factorial[n_Integer]: = n! /; n > 0 23. Mathematica. Образцы, содержащие альтернативу. Примеры Если множество описываемых выражений не укладывается в один образец, используют несколько образцов, объединяя их в один при помощи функции Alternatives. Это многоместная функция, ее операторная инфиксная форма имеет вид вертикальной черты |. Образцы, построенные таким образом, называют образцами, содержащими альтернативу. Такие образцы записывают в форме Patterni | Pattern2 |... | Patternk Например, определим функцию ff ClearAll[ff] ff[x: (_Integer|_Rational|_Complex)]: = Log[x]/; Positive[x]
Она вычисляет логарифм от выражений с головой либо Integer, либо Rational, либо Complex при условии, что они положительны Выражение л имеет голову Symbol и поэтому не может быть вычислено функцией ff. Воздействие булевой функции Positive на выражение 7+i дает значение False, и, следовательно, выражение 7+i также не вычисляется по правилу ff.
24. Mathematica. Установка значений аргументов функции по умолчанию. Примеры При создании функций ее аргументы можно задавать по умолчанию, используя конструкцию вида х: Value, которая читается следующим образом: «произвольное выражение, именуемое в дальнейшем х, и, если его значение не указано, принимающее значение Value».
25. Mathematica. Использование в образцах встроенных по умолчанию значений. Примеры Если при определении функции указать аргумент в виде function[x_Head? Test: Value], то в момент вызова функции в случае отсутствия этого аргумента произойдет присваивание ему значения по умолчанию Value. fun [х_, у_: 1, z_: 2]: = р[х, у, z] fun[а] р [а, 1, 2] fun[b, с] Р [Ь, с, 2]
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|