Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Списки и операции со списками



Списком в Maple называется упорядоченная последовательность выражений, заключенная в квадратные скобки.

Система сохраняет порядок, в котором задан список. Повторение элементов не устраняется.

Пример:

> [1,2,3,1]; [{c,a,t},{d,o,g}];

[1, 2, 3, 1]

[{c, a, t}, {d, o, g}]

Для списков определены следующие операции и соответствующие им функции.

1) Извлечение из списка L элементов по заданному правилу (условию) l, оператор вида

select ( l, L ) или select( l, L, b1,..., bn ).

Здесь b1,..., bn – необязательные параметры, содержащие дополнительные данные для условия. Пример типичного использования этой команды – выделение части выражения, содержащей или не содержащей некоторую переменную.

Например, выберем из списка [8, 2, 95, Pi, sin(9)] элементы, значения которых больше трех. Зададим правило и список, а затем воспользуемся оператором select.

> L:=[8,2,95,Pi, sin (9)]; l:=x->is(x>3);

L:= [8, 2, 95, Pi, sin(9)]

l:= x -> is(3 < x)

> select (l,L);

[8, 95, Pi]

2) Удаление из списка L элементов, удовлетворяющих условию l; оператор вида

remove( l, L ) или remove( l, L, b1,..., bn ).

Параметры здесь имеют тот же смысл, что и для команды select.

Пример:

> remove (l,L);

[2, sin(9)]

3) Объединение двух списков без указания правила объединения. Эту операцию можно осуществить, выделив с помощью оператора op последовательности выражений, входящих в список:

> [op (L1), op (L2) ];

[1, 2, 3, 1, 4, 5]

4) Объединение двух списков по задаваемому правилу. Такая операция осуществляется функцией вида

z ip( f,u,v ) или z ip( f,u,v,d ).

Здесь f – бинарная функция, задающая правило объединения, u,v – списки или одномерные массивы, d – значение. Эта функция, для создания нового списка (вектора) r, применяет бинарную функцию f к компонентам двух списков (векторов) u и v по следующим правилам. Если m - длина u, и n - длина v затем, то длина списка (вектора) r - минимум из m и n, а его элементы r[i]=f(u[i], v[i]), i=1..min(m, n). Значение необязательного четвертого параметра d, используется как значение по умолчанию для f, когда длина одного из параметров u или v меньше чем другого. В этом случае длина r равна максимуму длин u и v. Элементы r[i]=f(u[i],v[i]) для i=1..min(m,n) и r[i]=f(t[i],d) для i=1+min(m,n)..max(m,n), где t – один из параметров u или v, имеющий большую длину.

Примеры:

> X:=[seq(x,x=-10..10)]: Y:=[seq(x^2,x=-10..10)]:

> l:=(x,y)->[x,y]:

> F:=zip(l,X,Y);

F:= [[-10, 100], [-9, 81], [-8, 64], [-7, 49], [-6, 36], [-5, 25],

[-4, 16], [-3, 9], [-2, 4], [-1, 1], [0, 0], [1, 1], [2, 4],

[3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81],

[10, 100]]





Дата публикования: 2014-11-29; Прочитано: 234 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...