26. Mathematica. Функции, осуществляющие поиск выражений, соответствующих образцу
26. Mathematica. Функции, осуществляющие поиск выражений, соответствующих образцу Если при определении функции указать аргумент в виде function[x_Head? Test: Value], то в момент вызова функции в случае отсутствия этого аргумента произойдет присваивание ему значения по умолчанию Value. fun [х_, у_: 1, z_: 2]: = р[х, у, z] fun[а] р [а, 1, 2]
fun[b, с] Р [Ь, с, 2]
27. Mathematica. Функции порождения списков Списком называют выражение, имеющее голову List. Оператором, конструирующим список, являются фигурные скобки. Элементы списка - также выражения - записываются в скобках через запятую. Возможно существование пустого списка List[ ], или { }. В системе существует несколько функций, порождающих списки: Range, Table, Array. Функция Range может иметь один, два или три аргумента. В случае задания одного аргумента функция Range [п] определена только на атомарных объектах с головой Integer, Rational, Real. При этом если n < 1, возвращается пустой список, в противном случае генерируется список натуральных чисел от 1 до значения целой части числа п. Range [#] & /@{1, 7/3, 3. 2, i, " as", х, -5} {{1}, {1, 2}, {1, 2, 3}, Range[i], Range[as], Range[x], {}} Функция Table позволяет генерировать списки, устроенные более сложно. Table [expression, {п}] возвращает список, состоящий из п значений одного и того же вычисленного выражения expression. Общий вид функции Table[expression(i, j, k), iterator^ iterator^ iterator^. Она возвращает вложенные списки значений выражения ехрг при каждом фиксированном значении каждой локальной переменной. При указании нескольких итераторов порождается вложенный список. Уровень вложенности списка равен количеству итераторов. Функция Array[f, n] порождает одномерный список длины n, или вектор с элементами f[i], i = 1, n. Если второй аргумент имеет вид { m, n }, то результат - вложенный список уровня 1, или матрица, или двумерный массив с элементами f [i, j], где i = 1, ..., m, j = 1, .., n.
Array[a, {2, 3}] {{a[l, 1], a[l, 2], a[l, 3] }, {a[2, 1], a[2, 2], a[2, 3] }} 28. Mathematica. Функции добавления, извлечения, удаления элементов из списков AppendTo [list, Добавляет элемент element в конец старого списка list, element] новый список не создается PrependTo[list, element] Добавляет элемент element в начало старого списка list, новый список не создается Append [list, element] Создает новый список, добавляя в конец списка list элемент element Prepend [list, element] Создает новый список, добавляя в начало списка list элемент element Insert [list, element, positions] Создает новый список, помещая элемент element в список list на указанные позиции positions Delete [list, positions] Создает новый список, удаляя из списка list элементы, стоящие на указанных позициях positions DeleteCases [list, pattern] Создает новый список, удаляя из списка list элементы, соответствующие образцу pattern ReplacePart [list, element, position] Создает новый список, замещая новым элементом element подвыражения списка list, стоящие на указанных позициях positions Rest [list] Создает новый список, удаляя первый элемент списка list Part [list, positions] возвращает список подвыражений выражения list, стоящих на позициях positions Extract [list, positions, head] Возвращает выражение с головой head и подвыражениями, стоящими на позициях positions списка list. Если третий аргумент отсутствует, возвращается выражение с головой List. Take [list, k] Создает новый список из к первых (к> 0) или к последних (к< 0) элементов списка list. При k = {m, n} будут извлечены элементы с т-го по п-ый Drop [list, k] Создает новый список, удаляя к первых (к> 0) или к последних (к< 0) элементов списка list. При k = {т, п} удаляются элементы с т-го по п-ый First [list] Возвращает первый элемент списка list Last [expr] Возвращает последний элемент списка list Rest [list] Создает новый список, не содержащий первого элемента списка list
Most [list] Создает новый список, не содержащий последнего элемента списка list Select [expr, test, n] Возвращает список п первых элементов списка list, на которых функция test принимает значение True. Cases [list, pattern, le-velspec, n] Возвращает список п первых элементов списка list, соответствующих образцу pattern и находящихся на уровне levelspec
29. Mathematica. Операции над списками как над множествами. Подвыражения первого уровня списка можно рассматривать как элементы некоторого множества. Система предоставляет несколько функций, выполняющих основные операции над списками как над множествами. Функция Intersection[listi, list2, listk] возвращает упорядоченный список элементов множества, являющегося пересечением множеств элементов указанных списков. Функция Complement[list, listi, list2, listk] дает список элементов, содержащихся в list, но не содержащихся ни в одном из listi, i=l, • • •, k. Функция Join[listi, list2, listk] реализует конкатенацию списков, то есть соединяет элементы указанных списков в один список, который не сортируется. Функция Union [listi, Hst2, listk] возвращает упорядоченный список - объединение множеств listi, i=l, к. При этом повторяющиеся элементы удаляются, оставшиеся - сортируются. Solve[xA5 + 2xA4+xA3 == 0, х] {{х^ -1}, {x-» -1}, {х^ 0}, {х^ 0}, {х^ 0}} Solve[xA5 + 2хА4+хА3 == 0, х] // Union {{х^ -1}, {х^ 0}}
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|