Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
km_shpora_mathematica.docx
Скачиваний:
9
Добавлен:
14.09.2019
Размер:
53.31 Кб
Скачать

21. Mathematica. Именование образца и его части. Примеры.

Образцу можно присваивать имя xxx_Head?Test. Имя части образца помещается перед именуемой частью и отделяется двоеточием PatternName: Pattern. Например: Convex[1,{P: {_?NumericQ, _?NumericQ}}, rest_] - выражение с головой Convex, имеющее своим первым аргументом число 1, вторым - список, состоящий из одного списка по имени P, третьим и следующими аргументами - некоторое выражение или последовательность выражений, которые именуются в дальнейшем rest.

22. Mathematica. Образцы, соответствующие условию. Примеры.

В Mathematica можно описывать множества выражений путем построения необходимых логических высказываний. Для этого используют встроенную функцию Condition. Ее инфиксная форма - /; Выражение - Pattern /; Condition. Примеры: x_ /; NumberQ[x] - некоторое число, x_ /; NumberQ[x]&&Im[x]=0 некоторое вещественное число, x_List /; VectorQ[x] - вектор, не содержащий подсписков и т.д.

23. Mathematica. Образцы, содержащие альтернативу. Примеры.

Если множество описываемых выражений не укладывается в один образец, используют несколько образцов, объединяя их в один при помощи функции Alternatives. Это многоместная функция, ее инфиксная форма имеет вид |. Pattern1 | Pattern2 | ... | Patternn Пример: f[x: (_Integer | _Rational | _Complex)]:=Log[x] /; Positive[x]. Вычисляет лагорифм от выражений с головой либо Integer, либо Rational, либо Complex при условии, что они положительны.

24 Mathematica. Установка значений аргументов функции по умолчанию. Примеры.

При создании функций ее аргументы можно задать по умолчанию, используя конструкцию вида x_:Value. Пример: f[x_,y_:1,z_:2]:=p[x,y,z]

25. Mathematica. Использование в образцах встроенных по умолчанию значений. Примеры.

В работе с некоторыми образцами Mathematica, не найдя некоторых элементов в исходном выражении, может вместо недостающих данных использовать встроенные по умолчанию значения и продолжать вычисления. Такие выражения конструируются с помощью функции Optional. Выражение x. означает, что если на месте х ничего нет, тогда по умолчанию следует использовать встроенное значение. Примеры x_+y_ - сумма 2-х и более слагаемых; x_+y_. - одиночное выражение или сумма 2-х и более слагаемых; a_.x_^2+b_.x_+c_ - квадратное выражение с ненулевым линейным членом

26. Mathematica. Функции, осуществляющие поиск выражений, соответствующих образцу.

Функция MatchQ[expr, pattern] возвращает значение true, если соответствует. Чтобы правильно построить образец, надо использовать функции FullForm и Head, дающие информацию о полной форме выражения. Пример: MatchQ[Sqrt[3], _Real]

27. Mathematica. Функции порождения списков.

В системе существует несколько функций, порождающих списки: Range, Table, Array. Range[n]-порождает список {1, 2, …, n}

Range[m, n]- порождает список {m, m+1, …, m+ki}, причём m и n не обязательно целые и m+ki<n<m+(k+1)i. Если в Range заданы 3 аргумента, то последний определяет шаг порождения чисел, т.е. разность между последовательными элементами списка.

Table[expr, {n}]-порождает список из n элементов одного и того же значения expr. Table[expr, {i, n}]- порождает список из n значений выражения expr, отвечающих параметру i, изменяющемуся от 1 до n. Второй аргумент Table –итератор. Если {i, m, n}, то expr вычисляется начиная с i=m, если же итератор равен {i, m, n, di}, то di есть шаг по переменной i. В случае, когда указано несколько итераторов: Table[expr, {i, imin, imax}, {j, jmin, jmax}, …], порождаются вложенные списки.

Array[a, n] порождает список длины n с элементами a[i] для i=1, 2, …, n.Итератор в виде {n1, n2, …} приводит к вложенному списку с элементами a[i1, i2, …]. Array[a, iterarors, origin] даёт список, в котором индексы итераторов изменяются со значения origin, по умолчанию равному единице.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]