
- •Глава 2. Основные понятия и конструкции системы
- •2.1. Алфавит и синтаксис Maple-языка
- •2.2. Последовательности выражений
- •2.3. Операторы оценивания выражений
- •2.4. Извлечение операндов выражений
- •2.5. Наборы и операции с наборами
- •2.6. Списки и операции со списками
- •2.7. Типы объектов и выражений
- •2.8. Преобразование типов выражений
- •2.9. Имена переменных
- •2.10. Типы переменных
- •2.11. Оператор присваивания
- •2.12. Отмена операции присваивания
- •2.13. Ограничение значений переменных
- •2.14. Операторы
- •2.15. Математические функции
- •2.16. Операции с формулами и выражениями
- •2.17. Операции с полиномами
- •2.18. Массивы, векторы и матрицы
- •2.19. Строковые переменные
- •Упражнения
- •Глава 3. Операции и функции математического анализа
- •3.1. Вычисление сумм и рядов
- •3.2. Вычисление произведений членов некоторой последовательности
- •3.3. Вычисление производных
- •3.4. Вычисление пределов
- •3.5. Интегрирование выражений
- •3.6. Разложение функций в ряды
- •3.7. Нахождение экстремумов, максимумов и минимумов функций
- •3.8. Анализ функций на непрерывность
- •Упражнения
- •Глава 4. Решение уравнений и неравенств
- •4.1. Основные понятия и конструкции
- •4.2. Решение одиночных уравнений
- •4.3. Решение систем алгебраических уравнений
- •4.4. Присваивание значений полученных решений
- •4.5. Поиск корней полиномов
- •4.6. Решение тригонометрических уравнений
- •4.7. Решение неравенств
- •4.8. Решение функциональных уравнений
- •4.9. Решение рекуррентных уравнений
- •4.10. Численное решение уравнений и систем
- •4.11. Решение дифференциальных уравнений
- •Упражнения
2.5. Наборы и операции с наборами
Набором в Maple называется неупорядоченная последовательность выражений, заключенных в фигурные скобки.
Система автоматически устраняет повторение элементов в наборе. Элементы набора могут переставляться системой.
Пример:
> {1,1,2,3}; {a*x,'abc',-23.45,a.n};
{1, 2, 3}
{abc, an, -23.45, a x}
Для наборов определены следующие операции и соответствующие им бинарные операторы.
объединение элементов двух наборов, оператор вида
L1 union L2 .
Здесь L1 и L2 – два набора, элементы которых необходимо объединить.
Пример:
>L1:={1,2,3}:L2:={1,4,5}: L1 union L2;
{1, 2, 3, 4, 5}
пересечение наборов L1 и L2, оператор intersect.
> L1 intersect L2;
{1}
исключение из набора L1 элементов набора L2 , оператор minus:
> L1 minus L2;
{2, 3}
2.6. Списки и операции со списками
Списком в Maple называется упорядоченная последовательность выражений, заключенная в квадратные скобки.
Система сохраняет порядок, в котором задан список. Повторение элементов не устраняется.
Пример:
> [1,2,3,1]; [{c,a,t},{d,o,g}];
[1, 2, 3, 1]
[{c, a, t}, {d, o, g}]
Для списков определены следующие операции и соответствующие им функции.
Извлечение из списка 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]
Удаление из списка L элементов, удовлетворяющих условию l; оператор вида
remove(l, L) или remove(l, L , b1, ..., bn) .
Параметры здесь имеют тот же смысл, что и для команды select.
Пример:
> remove(l,L);
[2, sin(9)]
Объединение двух списков без указания правила объединения. Эту операцию можно осуществить, выделив с помощью оператора op последовательности выражений, входящих в список:
> [op(L1),op(L2)];
[1, 2, 3, 1, 4, 5]
Объединение двух списков по задаваемому правилу. Такая операция осуществляется функцией вида
zip(f,u,v) или zip(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]]