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

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 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...