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

на главную - закладки

Жанры

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

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

Шрифт:

3.1.9. Применение операторов специальных типов

Операторы в Maple описывают операции по преобразованию данных, в частности, выражений. Последние, в свою очередь, можно отнести к данным абстрактного типа. Могут быть описаны следующие типы операторов:

• неопределенные (f);

• нейтральные (&);

• процедурные;

• функциональные;

• композиционные (@).

Оператор относится к неопределенным, если он не был заранее определен. Такой оператор не выполняет никаких действий и просто повторяется в строке вывода:

> restart:f(1,2,а);

f(1, 2,
а)

Композиционные операторы (на базе знака @) мы уже применяли. Другие типы операторов рассмотрены ниже.

3.1.10. Применение функциональных операторов

Функциональные операторы Maple-языка являются альтернативами функций и записываются в двух формах.

Нотация Запись оператора
«arrow» (стрелочная) vars -> result
«angle bracket» (в угловых скобках) <result | vars>

Данные операторы могут использоваться для реализации подстановок. Например, запись х->х^2 означает подстановку х^2 на место переменной х. Возможны и такие подстановки в множественной форме:

(х,у) -> x^2 + у^2

х -> (2*х, 3*х^4)

(х,у,z) -> (х*у, y*z)

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

3.1.11. Определение нейтральных операторов

Для создания нейтральных операторов (задаваемых пользователем и в момент задания неисполняемых), определяемых пользователем, служит знак амперсанда — &. Синтаксис нейтрального оператора следующий:

&name

Имя оператора строится по правилам задания допустимых идентификаторов. Также в качестве имени может быть использована последовательность (один и более) специальных символов. В последовательности специальных символов не должно быть букв, цифр, подчеркивания, а также следующих символов:

& | {}[]:;'` # <перевод строки> <пробел>

Максимальная длина имени — 495 символов. Нейтральные операторы могут быть унарными и бинарными. Примеры задания бинарного нейтрального оператора приведены ниже:

> х&/у;

x&/y

> z+x&/y;

z+(x&/y)

> &/(х, у);

x &/ у

> х&/у-&/(х,у);

0

3.1.12. Определение операторов с помощью оператора define

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

define(oper, property1, property2, ...)

Здесь oper — имя определяемого оператора, property1, property2 и т.д. — наименования свойств. В принципе оператор define позволяет создавать операторы с новыми свойствами, которые отсутствуют у операторов и функций, встроенных в систему. Могут быть указаны следующие свойства операторов:

unary — унарный оператор;

binary — бинарный оператор;

diff — дифференциальный оператор;

linear — линейный оператор;

multilinear — множественный линейный оператор;

flat — ассоциативный оператор, для которого f(х,f(y,z)) = f(f(х, y), z) =f(х, у, z);

orderless — коммутативный симметричный оператор, такой что f(х, y) = f(y, х); antisymmetric — асимметричный оператор, такой что f(х, y) = -f(у, х); zero — нулевой оператор (например, V:=Vector(5,shape=zero) задает вектор с 5 нулевыми элементами);

identity — единичный оператор (например, M:=Matrix(3,3,shape=identity) задает единичную матрицу).

Следующий пример задает линейный оператор L:

> define(L,linear);

> L(а*х+b*х^2+с*х^3);

L(ax) + L(bx²) + L(cz³)

Для задания некоторых свойств операторов можно использовать уравнения и соотношения вида f(x)=value. Чтобы свойство выполнялось для всех аргументов (или некоторого класса аргументов), используется описание forall. Так, приведенный ниже пример задает оператор F, который вычисляет n-е число Фибоначчи (n>2):

> restart;

> define(fib,fib(0)=1,fib(1)=1,fib(n::posint)=fib(n-1)+fib(n-2));

> fib(6);

13

> fib(10);

89

> fib(20);

10946

Обратите внимание на то, что соотношения fib(0)=1 и fib(1)=1 задают начальные значения целочисленного массива чисел Фибоначчи, которые нужны для реализации обычного итерационного алгоритма их нахождения — напоминаем, что очередное число Фибоначчи равно сумме двух предшествующий чисел Фибоначчи.

3.2. Работа с математическими функциями

3.2.1. Понятие о функциях

Более двух сотен лет тому назад в обиход математиков пришло понятие функции, как некоторой зависимости одной величины, например f или у, от другой величины — независимой переменной х или t. Функции стали обозначать как f(x), f(t), y(x) и т.д. Могут быть и функции ряда переменных, например вида f(х, у, z, …). Хотя эти понятия не являются полными, мы ограничимся ими, помня, однако, что функции могут быть определены в различных интервалах изменения их аргументов.

Поделиться:
Популярные книги

Мерзавец

Шагаева Наталья
3. Братья Майоровы
Любовные романы:
современные любовные романы
эро литература
короткие любовные романы
5.00
рейтинг книги
Мерзавец

Последняя Арена 6

Греков Сергей
6. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 6

Девяностые приближаются

Иванов Дмитрий
3. Девяностые
Фантастика:
попаданцы
альтернативная история
7.33
рейтинг книги
Девяностые приближаются

В теле пацана

Павлов Игорь Васильевич
1. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана

Я тебя не предавал

Бигси Анна
2. Ворон
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Я тебя не предавал

Невеста вне отбора

Самсонова Наталья
Любовные романы:
любовно-фантастические романы
7.33
рейтинг книги
Невеста вне отбора

Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Клеванский Кирилл Сергеевич
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.51
рейтинг книги
Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Темный Патриарх Светлого Рода 7

Лисицин Евгений
7. Темный Патриарх Светлого Рода
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 7

Война

Валериев Игорь
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Война

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

И только смерть разлучит нас

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
И только смерть разлучит нас

Неудержимый. Книга XVII

Боярский Андрей
17. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVII

Санек 2

Седой Василий
2. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 2

Шипучка для Сухого

Зайцева Мария
Любовные романы:
современные любовные романы
8.29
рейтинг книги
Шипучка для Сухого