Чтение онлайн

ЖАНРЫ

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

Операнды, используемые совместно с операторами, могут быть числами, константами, переменными и математическими выражениями. К примеру, в выражении (2+3)+5 операторами являются знаки + и скобки , а операндами — константы 2 и 3 для первого оператора сложения и выражение (2 + 3) и константа 5 для второго оператора сложения. Аналогично в выражении (а+b)–с операндами будут переменные a, b и с.

Следует отметить, что в математических выражениях операторы имеют общепринятый приоритет, то есть порядок выполнения операторов в сложном выражении. Низшим приоритетом обладают операторы сложения и вычитания. Более высокий приоритет у операторов умножения, деления, затем возведения в степень, выполнения логических операций и так далее. Для изменения приоритета операций в математических выражениях используются

круглые скобки. Выражения в скобках выполняются в первую очередь вне зависимости от приоритета входящих в них операций. Степень вложения скобок во всех современных математических системах не ограничивается.

Понятие приоритета облегчает однозначную интерпретацию математических выражений. К примеру, в выражении 2+3*5 вначале будет вычислено 3*5, а затем к результату прибавится 2. В итоге будет вычислено значение 17. А в выражении (2+3)*5 вначале будет вычислено выражение в скобках (2+3), затем оно будет умножено на 5, так что результат будет 25. Таким образом скобки позволяют менять приоритет операций. Степень вложения скобок в современных системах компьютерной математики не ограничена. Однако иногда применение лишних скобок может повлиять на выбор правил вычисления выражений, например при вычислении степеней.

3.1.2. Виды операторов

Формально операторы представлены своими идентификаторами в виде специальных математических знаков, слов и иных имен. Операторы, как это вытекает из их названия, обеспечивают определенные операции над данными, представленными операндами. Имеется пять основных типов операторов:

• binary — бинарные операторы (двумя операндами);

• unary — унарные операторы (с одним операндом);

• nullary — нуль-арные операторы (без операнда — это одна, две и три пары кавычек);

• precedence — операторы старшинства (включая логические операторы);

• functional — функциональные операторы.

Для просмотра операторов и их свойств можно использовать следующие команды вида:

> ?operators[вид];

где вид — название вида оператора, указанное выше. Будет выведена страница справки по операторам заданного вида. А для изучения примеров применения операторов нужно задать и исполнить команду

> ?operators[examples];

Команда

> ?define;

позволяет ознакомиться с функций define. С ее помощью можно определять новые операторы.

3.1.3. Применение бинарных (инфиксных) операторов

Бинарные операторы, именуемые также инфиксными, используются с двумя операндами, обычно размещаемыми по обе стороны от оператора. В ядро Maple включено около трех десятков бинарных операторов. Основные из них перечислены в таблице 3.1. Чуть позже мы рассмотрим и другие бинарные операторы. Примеры вычисления выражений с бинарными операторами (файл ор):

> 2+3-(-4);

9

> [2^3,2**3];

[8,8]

> 7 mod 5;

2

> [3@2,3@@2];

[3, 3(2)]

> [х@х,х@@х];

[x(2), x(x)]

> [х$3,х$4];

[х, x, x, x, x, x, x]

Таблица 3.1. Бинарные операторы

Обозначение Оператор Обозначение Оператор
+ Сложение @ Оператор композиции
Вычитание @@ Повторение композиции
* Умножение , Разделитель выражений
/ Деление := Присваивание
**
или ^
Возведение в степень .. Задание интервала
mod Остаток от деления , Разделитель выражений
$ Оператор последовательности &* Некоммутативное умножение
. Разделительная точка &<string> Нейтральный оператор
|| Конкатенация (объединение)

> int(х^2,х=1..4);

21

> S: = `Hello` || ` my ` || `friend!`;

S := Hello my friend!

Оператор композиции @@ может использоваться для создания и вычисления сложных функций, содержащих цепные дроби:

> f:=а->1/(1+а);(f@@3)(а);

> f(5);

> g:=а->1/(1+а^2);(g@@3)(а);

> g(2);

А вот еще один пример применения этого оператора для составления цепного радикала и вычисления ряда таких цепочек в цикле:

> f := х -> sqrt(1 + х);

> f(f(0));

√2

> f(f(f(0)));

> (f@@10)(x);

> for k from 1 to 10 do (f@@k)(0) = evalf((f@@k)(0)); od;

3.1.4. Работа с множествами

Множества, относящиеся к первичным понятиям, не являются точно определенными математическими объектами. Можно рассматривать, например, различные множества чисел, множества людей или деревьев и т.д. Будем считать, что они определяют группу неповторяющихся объектов. Для работы с множествами определены следующие бинарные операторы:

• union — включает первый операнд (множество) во второй;

• intersect — создает множество, содержащее общие для операндов элементы;

• minus — исключает из первого операнда элементы второго операнда.

В любом случае в результирующем множестве устраняются повторяющиеся элементы. Примеры вычисления выражений с этими операторами приведены ниже (файл sets):

> {a,a,b,с,с,d} union {e,e,f,g};

{f,g,a,b,e,с,d}

> {a,a,b,с,с,d} intersect {a,c,e,e,f,g};

{a, c}

> {a,a,b,c,c,d} minus {a,d};

{b, c}

Напоминаем, что эти операторы заданы ключевыми словами. Несмотря на фундаментальность понятия множества, множества применяются в конкретных расчетах довольно редко.

3.1.5. Новый оператор in в множествах

Начиная с Maple 8 для удобства работы с множествами был добавлен новый оператор in. Он может использоваться в виде (файл sets):

element in objs

Поделиться с друзьями: