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

на главную

Жанры

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

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

Шрифт:

Рис. 9.26. Иллюстрация к вычислению длины дуги

9.6.6. Подпакет вычислений Precalculus

Пакет вычислений Precalculus служит для визуализации таких операций, как вычисление полиномов, нахождение пределов функций, решение систем неравенств, представление функций и др. Он содержит только интерактивные средства, построенные по аналогии с приведенными ранее средствами. Поэтому и здесь мы ограничимся парой примеров.

Например, для получения графика

и корней полинома х^3 + 3*х^2 - 2 достаточно исполнить команды:

> with(Student[Precalculus]):

> PolynomialTutor(х^3+3*х^2-2);

В появившемся интерактивном окне можно наблюдать график полинома и список его действительных корней — рис. 9.27.

Рис. 9.27. Окно с графиком полинома и его вычисленными корнями

Следующий пример иллюстрирует вызов обучающего окна по стандартным функциям:

> StandardFunctionsTutor;

При таком задании в окне задается функция синуса, но ее можно изменить на другую функцию или выражение со стандартными функциями — например, sin(x)/x (рис. 9.28). Кроме графика исходной функции (он дан красным цветом) строится график преобразованной функции. Используется линейное преобразование с набором заданных параметров а, b, с и d.

Рис. 9.28. Окно с графиком основной и преобразованной функциями

9.6.7. Другие возможности и особенности пакета Student Package

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

К сожалению, ввиду новизны пакета он содержит явные недоработки. Например, на рис. 9.25 непонятно, что выводит третья кривая на рисунке — объяснения по этому поводу нет в справке по примененной функции. При больших x места на графике для представления чисел, отложенных по осям, явно не хватает и цифры отображаются с большими искажениями. Впрочем, стоит отметить, что по пакету представлены исходные коды на Maple-языке, так что чересчур требовательный пользователь может довести пакет «до ума». Несомненно, что корпорация Maple-Soft планирует существенное расширение средств Maplets в программных утилитах, включенных в пакеты расширений систем Maple.

Глава 10

Типовые средства программирования

По существу все описанные выше средства (операторы, команды и функции) систем Maple 9.5/10 являются компонентами языка программирования системы Maple. Но есть ряд типовых средств программирования (функции пользователя, условные выражения, циклы, средства вывода, маплеты и др.), которые и рассматриваются в данной главе [23, 51, 52]. Применение таких средств существенно расширяет возможности систем Maple в решении ряда математических и научно-технических задач.

10.1. Задание функций

10.1.1. Задание функции пользователя

Хотя ядро Maple 9 5/10, библиотека и встроенные пакеты расширения содержат свыше 3500 команд и функций, всегда может оказаться, что именно нужной пользователю (и порою довольно простой) функции все же нет. Тогда возникает необходимость в создании собственной функции, именуемой функцией пользователя. Для этого используется следующая конструкция:

name(x,y,...)->expr

После этого вызов функции осуществляется в виде name(х,у,…), где (x,y,…) — список формальных параметров функции пользователя с именем name. Переменные, указанные в списке формальных параметров, являются локальными. При подстановке на их место фактических параметров они сохраняют их значения только в теле функции (expr). За пределами этой функции переменные с этими именами оказываются либо неопределенными, либо имеют ранее присвоенные им значения.

Следующие примеры иллюстрирует сказанное (файл p1):

> restart;

> х:=0;y:=0;

х := 0
у := 0

> m:=(x,y)->sqrt(х^2+y^2);

> m(3,4);

5

> m(3., 4);

5.000000000

> [x,y];

[0, 0]

Нетрудно заметить, что при вычислении функции m(х,у) переменные х и у имели значения 3 и 4, однако за пределами функции они сохраняют нулевые значения, заданные им перед введением определения функции пользователя. Использование хотя бы одного параметра функции в виде числа с плавающей точкой ведет к тому, что функция возвращает результат также в виде числа с плавающей точкой.

10.1.2. Конструктор функций unapply

Еще один способ задания функции пользователя базируется на применении функции-конструктора unapply:

name:=unapply(expr, var1, var2, ...)

Ниже даны примеры такого задания функции пользователя (файл p1):

> restart;

> fm:=unapply(sqrt(х^2+y^2),х,y);

> fm(4.,3.);

5.000000000

> fe:=unapply(х^2+y^2,х,y);

fе:=(х,у)→х²+у²

> fe(sin(х),cos(х));

sin(x)² + cos(x)²

> simplify(fe(sin(x),cos(x)));

1

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

10.1.3. Визуализация функции пользователя

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

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

Шатун. Лесной гамбит

Трофимов Ерофей
2. Шатун
Фантастика:
боевая фантастика
7.43
рейтинг книги
Шатун. Лесной гамбит

Чайлдфри

Тоцка Тала
Любовные романы:
современные любовные романы
6.51
рейтинг книги
Чайлдфри

Измена. Жизнь заново

Верди Алиса
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Жизнь заново

Ты всё ещё моя

Тодорова Елена
4. Под запретом
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Ты всё ещё моя

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка

Вперед в прошлое 5

Ратманов Денис
5. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 5

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9

Пограничная река. (Тетралогия)

Каменистый Артем
Пограничная река
Фантастика:
фэнтези
боевая фантастика
9.13
рейтинг книги
Пограничная река. (Тетралогия)

Штуцер и тесак

Дроздов Анатолий Федорович
1. Штуцер и тесак
Фантастика:
боевая фантастика
альтернативная история
8.78
рейтинг книги
Штуцер и тесак

Все ведьмы – стервы, или Ректору больше (не) наливать

Цвик Катерина Александровна
1. Все ведьмы - стервы
Фантастика:
юмористическая фантастика
5.00
рейтинг книги
Все ведьмы – стервы, или Ректору больше (не) наливать

Сопряжение 9

Астахов Евгений Евгеньевич
9. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
технофэнтези
рпг
5.00
рейтинг книги
Сопряжение 9

Истинная поневоле, или Сирота в Академии Драконов

Найт Алекс
3. Академия Драконов, или Девушки с секретом
Любовные романы:
любовно-фантастические романы
6.37
рейтинг книги
Истинная поневоле, или Сирота в Академии Драконов

Заставь меня остановиться 2

Юнина Наталья
2. Заставь меня остановиться
Любовные романы:
современные любовные романы
6.29
рейтинг книги
Заставь меня остановиться 2