Maple 9.5/10 в математике, физике и образовании
Шрифт:
При задании функций пользователя рекомендуется просмотреть их графики в нужном диапазоне изменения аргументов. К сожалению, наглядными являются только графики функций одной и двух переменных.
Рис. 10.1. Примеры задания функций пользователя двух переменных с построением их графиков
10.1.4. Импликативные функции
Другой важный класс функций, которые нередко приходится задавать —
Итак, импликативные функции записываются как уравнения. Соответственно их можно решать с помощью функции solve. Следующие примеры иллюстрируют задание уравнения окружности в общем и в частном (численном) виде (файл p1):
Для графической визуализации импликативных функций служит функция implicitplot пакета plots. На рис. 10.2 представлено задание двух импликативных функций и построение их графиков.
Рис. 10.2. Задание двух импликативных функций и построение их графиков
В данном случае задано построение двух эллипсов. Верхний — это окружность, сплюснутая по вертикали, а второй — наклонный эллипс.
10.2. Управляющие структуры
10.2.1. Условные выражения
Программы, все инструкции которых выполняются строго последовательно называются линейными программами. Большинство же программ относятся к разветвляющимся программам, у которых возможны переходы от одной ветви с командами к другой в зависимости от получаемых при вычислениях результатов и условий работы. Для создания таких программ используются управляющие структуры.
Простейшую конструкцию разветвляющихся программ в Maple-языке программирования задает оператор if или оператор условного выражения:
В вертикальных чертах | | указаны необязательные элементы данной конструкции. Следующие два вида условных выражений чаще всего используются на практике:
if <Условие> then <Элементы 1> fi — если Условие выполняется, то исполняются Элементы 1, иначе ничего не выполняется;
if <Условие> then <Элементы 1> else <Элементы 2> fi — если Условие выполняется, то исполняются Элементы 1, иначе исполняются Элементы 2.
В задании условий используются любые логические конструкции со знаками сравнения (<, <=, >, >=, =, <>) и логические операторы and, or и not, конструкции с которыми возвращают логические значения true и false.Рассмотрим следующий простой пример (файл р2):
В этом примере анализируется значение х. Если оно отрицательно, то с помощью функции вывода print на экран выводится сообщение «Negative». А вот если х неотрицательно, то не выводится никакого сообщения. В другом примере если х неотрицательно, то выводится сообщение «Positive»:
Приведем еще один пример, показывающий особую форму задания конструкции if-then-else-fi:
В этой конструкции вида
если Условие выполнятся, то будет исполнено Выражение1, в противном случае будет исполнено Выражение2. Ввиду компактности записи такая форма условного выражения нередко бывает предпочтительна, хотя она и менее наглядна. На рис. 10.3 представлено применение данной конструкции для моделирования трех типов сигналов.
Рис. 10.3. Применение конструкции с функцией if для моделирования сигналов
К сожалению, функции на базе конструкции if не всегда корректно обрабатываются функциями символьной математики. Поэтому надо тщательно контролировать полученные в этом случае результаты.
10.2.2. Циклы for и while
Зачастую необходимо циклическое повторение выполнения выражения заданное число раз или до тех пор, пока выполняется определенное условие. Maple имеет обобщенную конструкцию цикла, которая задается следующим образом: