Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 1_MAPLE_2012.docx
Скачиваний:
18
Добавлен:
25.03.2016
Размер:
2.26 Mб
Скачать

Примеры решения стандартных задач

Понятие о функциях и операторах

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

>2*sin(1.); 1.682941970

>2*sin(1); 2sin(1);

Обратите внимание на особую роль десятичной точки — здесь она служит указанием к выполнению вычисления значения sin( 1.0) (или, что то же самое, sin( 1.)). А вот синус целочисленного аргумента 1 не вычисляется — считается, что вычисленное значение менее ценно, чем точное значение sin(1).

Под командами же мы будем подразумевать прежде всего команды, содержащиеся в меню. Помимо функций в математических системах для записи математических выражений используются специальные знаки — операторы. К примеру, вычисление квадратного корня часто записывается с помощью его специального знака. Достаточно хорошо известны операторы сложения +, вычитания -, умножения *, деления / и некоторые другие. Операторы обычно используются с операндами в виде констант или переменных, например в записи 2* (3+4) числа 2, 3 и 4 — это операнды, а знаки * и + — операторы. Пожалуй, самым распространенным оператором является оператор присваивания :=. Он используется для задания переменным конкретных значений, например (знак > - текущая строка ввода):

>x:=y; x:=y

>y:=z; y:=z

>z:=2; z:=2

>x; 2

Другой распространенный оператор — оператор равенства = — используется для задания равенств и логических условий (например, а=b), указания областей изменения переменных (например, i=1..5 означает формирование диапазона изменения i от 1 до 5) и определения значений параметров в функциях и командах (например, color=b1ack для задания черного цвета у линий графиков).

Выполнение необходимых вычислений возможно в двух вариантах:

  1. В режиме главного меню;

  2. С использованием большого количества функций пакета.

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

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

Представление входных выражений в математической форме

Maple предлагает ряд средства для ввода математических выражений.

Рис. 1. Вычисление математического выражения

по инертной функцией.

Во-первых, это текстовые комментарии, в которые можно вводить формулы. Во-вторых, это инертные функции, которые не вычисляются, но дают вывод на экран в естественной математической форме (рис. 1).

В-третьих, это возможность быстрого преобразования строковых выражений ввода в естественные математические формулы. Об инертных функциях мы поговорим позже более подробно. Отметим лишь, что имена инертных функций начинаются с большой буквы и функции выводят математическое выражение в естественной математической нотации. С помощью ряда функций, например evalf, можно вычислить математическое выражение, полученное инертной функцией. На рис. 1 внизу дан пример такого вычисления для предела функции sin(x)/x.

Рис. 2. Примеры вычислений интеграла при его задании в текстовой и математической нотации

На рис. 3 показано назначение кнопок панели инструментов (Tool Bar). Эти кнопки дублируют наиболее важные операции главного меню и имеют наглядные и типовые для Windows-приложений обозначения. Назначение кнопок и других деталей интерфейса также показаны на рис. 3. Если графика выводится в отдельное окно, там имеется своя панель инструментов.

Рис. 3. Панель инструментов

Решение одиночных нелинейных уравнений

Решение одиночных нелинейных уравнений вида f(x) = 0 легко обеспечивается функций solve(f(x),x). Это демонстрируют следующие примеры:

>solve(x^3-2*x+1,x);

>eq:=(2*x^2+x+3=0);

eq:=2*x2+x+3=0

>s:=[solve(eq,x)];

Часто бывает удобно представлять уравнение и его решение в виде отдельных объектов, отождествленных с определенной переменной.

Сводящиеся к одному уравнению равенства вида f1(x)=fl(x) также решаются функцией solve(fl(x)=f2(x),x):

Обратите внимание в этих примерах на эффективность применения функции evalf, позволяющей получить решения, выраженные через функцию RootOf, в явном виде.

Функции дифференцирования выражений diff и Diff

Вычисление производных функций fn(x) = dfn(x)/dxn n-го порядка — одна из самых распространенных задач математического анализа. Для ее реализации Maple имеет следующие основные функции:

diff(a, xl, х2, .... xn)     diff(a, [xl, х2, .... хn])

Diff(a, xl, x2, .... xn)     Diff(a, [xl, x2, .... хn])

Здесь а — дифференцируемое алгебраическое выражение, в частности функция f(xl. x2, .... хn) ряда переменных, по которым производится дифференцирование. Функция Diff является инертной формой вычисляемой функции diff и может использоваться для естественного воспроизведения производных в документах. Первая из этих функций (в вычисляемой и в инертной форме) вычисляет частные производные для выражения а по переменным xl, х2, ..., .хn. В простейшем случае diff(f(x),x) вычисляет первую производную функции f(x) по переменной х. При n, большем 1, вычисления производных выполняются рекурсивно, например diff (f (х), х, у) эквивалентно diff(diff (f(x), х), у). Оператор $ можно использовать для вычисления производных высокого порядка. Для этого после имени соответствующей переменной ставится этот оператор и указывается порядок производной. Например, выражение diff (f(x) ,x$4) вычисляет производную 4-го порядка и эквивалентно записи diff (f (х) ,х,х,х,х). A diff (g(x,y) ,x$2,y$3) эквивалентно diff(g(x,y),x,x,y,y,y).

Примеры вычисления производных: