Министерство общего и профессионального образования Российской Федерации Тверской государственный университет
В. О. АШК...
26 downloads
438 Views
633KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство общего и профессионального образования Российской Федерации Тверской государственный университет
В. О. АШКЕНАЗЫ
СИСТЕМА АНАЛИТИЧЕСКИХ ВЫЧИСЛЕНИЙ MAPLE V (Вводный курс) Учебное пособие
Тверь 2000
УДК 681.3.06
Ашкеназы В.О. Система аналитических вычислений Maple V (Вводный курс): Учебное пособие. - Тверь: Тверской гос. ун-т, 1999. - 34 с. – ил.
В учебном пособии излагаются начальные сведения о компьютерной системе аналитических вычислений Maple V Release 5 (версия 5) – мощном современном инструменте для решения математических проблем. Пособие предназначается для студентов и/или специалистов, применяющих математику в своей учебной и практической деятельности.
Библиогр.: 8 назв.
© Ашкеназы В.О., 1999
2
ВВЕДЕНИЕ Современные компьютерные системы аналитических (символьных) вычислений основаны на программной реализации алгоритмов компьютерной алгебры, обеспечивающих точные аналитические (в отличие от приближенных численных) преобразования математических выражений: полиномов, рядов, рациональных функций, формул. Такие аналитические алгоритмы обеспечивают упрощение алгебраических выражений, разложение полиномов на множители, аналитическое дифференцирование и интегрирование, суммирование, нахождение наибольшего общего делителя двух полиномов, явное решение алгебраических уравнений и неравенств, дифференциальных уравнений, а также соответствующих систем, и многое другое. Система аналитических вычислений Maple V Release 5 (т.е. версия 5), разработанная фирмой Waterloo Maple Software (Канада), это универсальная система решения задач, которая поддерживает широкий круг мощных математических операций, таких как символьный анализ, численный анализ и графика. Превосходные диалоговые возможности Maple обеспечиваются обширной библиотекой встроенных функций по общей математике, комбинаторике, дифференциальным формам, геометрии, теории групп, линейной алгебре, оптимизации, теории чисел, ортогональным многочленам, степенным рядам, статистике, двух- и трехмерной графике. В среде Maple имеются также широкие возможности программирования и отладки, неоценимые при решении более сложных задач. Язык программирования Maple использует синтаксис, близкий к общеизвестным Паскалю и Си. Заметим, что "maple" в переводе с английского на русский язык это "клён", ведь кленовый лист является государственным символом Канады, где эта система аналитических вычислений была создана.
1. НАЧИНАЕМ ОСВАИВАТЬ MAPLE Итак, Maple это компьютерная программа для тех, кто занимается математикой. Использование Maple для выполнения ваших вычислений сделает вашу работу более интересной, позволит лучше сосредоточиться на рассматриваемой проблеме, и поможет вам избежать нелепых вычислительных ошибок.
3
Это пособие предназначено для начинающих и из него вы узнаете, как учиться дальше. Предполагается, что вы будете пользоваться им, сидя за компьютером с Maple, работающим в среде Windows, вводя команды и обдумывая получаемые результаты. Чтобы эффективно пользоваться любым программным обеспечением, необходимы некоторые знания об операционной системе компьютера. В этом пособии предполагается, что вы уже знакомы с основами работы в Windows 95/98 с "мышью" – знаете, что такое "указать", "щелкнуть" и "перетащить". Запустите Maple Для столе"
запуска ОС
Maple
Windows
щелкните
на
пиктограмме
вашего
В раскрывшемся окне щелкните на
на "рабочем
компьютера. затем
на
.
После появления временного титульного окна-заставки системы Maple V Release 5 раскроется основное окно системы с пустым рабочим полем (документом Maple), в котором вы можете начать печатать и вводить команды Maple после приглашения ">" вверху слева.
2. РАБОЧЕЕ ПОЛЕ MAPLE Среда рабочего поля Рабочее поле обычно состоит из трех областей: область ввода, область текста и область вывода.
Область ввода , начинающаяся приглашением – символом ввода ">", содержит вычислительные команды Maple в командных строках, обычно представляемых красным шрифтом Arial, например: > solve(2*x=4,x); # А это комментарий - нажмите [Enter]
4
Нажатие клавиши Enter, когда курсор находится на командной строке, инициализирует вычисления.
5
Область текста может содержать поясняющие сообщения и другую текстовую информацию (обычно представляемую черным шрифтом Times New Roman), которая может потребоваться для обеспечения наглядности документа Maple. Область вывода содержит результаты выполнения команд Maple (обычно это синий шрифт) наподобие вывода по уже приведенной выше командной строке: > solve(2*x=4,x); 2 При работе с Maple может осуществляться также графическая визуализация результатов вычислений. Область графики: Отображение графиков в Maple V Release 5 производится в области вывода рабочего поля или , по желанию, в специальных графических окнах (см. Раздел 7). Кроме того, для большего удобства в работе с документами Maple, могут создаваться гиперссылки (текстовая надпись зеленого цвета, подчеркнутая снизу), которые можно связать с файлом любого документа, с заданной страницей справочной системы, с "книжной" закладкой в документе. Вот пример рабочего поля Maple, содержащего перечисленные объекты:
6
По желанию пользователя можно производить форматирование объектов ввода, вывода и текста, то есть придание им определенного стиля (например, цвета и размера, выбранного набора шрифтов, представления выходных и входных данных в виде естественных математических формул). Области ввода, вывода и текста могут объединяться в ячейки – исполняемые группы (Execution Groups) и ячейки – абзацы для текста (Paragraphs), выделяемые квадратными скобками слева. О некоторых "горячих" клавишах: - можно превратить ячейку ввода в текстовую ячейку, и наоборот (клавиша F5); - можно разделить ячейку ввода или текста на две ячейки (клавиша F3) или объединить ячейки (клавиша F4); - можно вставить новые ячейки ввода или текста между уже имеющимися (вставка исполняемой группы после курсора: Ctrl+J, до курсора: Ctrl+K; вставка текстового абзаца после курсора: Shift+Ctrl+J, до курсора: Shift+Ctrl+K); - можно удалять ячейки ввода или текста по вашему желанию (Ctrl+Delete); - можно копировать ячейки ввода или текста и вставлять их в другое место (Ctrl+C и Ctrl+V, соответственно).
Первые шаги Компьютеры придирчивы к подробностям. Стоит отметить некоторые особенности Maple: * Имеет значение регистр клавиатуры: так, "pi" это просто имя переменной, но "Pi" это геометрическая константа π . Большинство команд Maple вводится строчными буквами. * Каждая команда должна оканчиваться точкой с запятой (или двоеточием, если вы не хотите, чтобы результат ее выполнения отображался). * Нажатие клавиши Enter запускает вычисления. Если вы хотите просто получить новую строку, нажмите Shift+Enter. Далее приведены некоторые примеры команд Maple (после приглашения, ">", которое выводит на экран программа). Вводите указанные ниже команды, или придумайте другие аналогичные задачи (конкретные числа, которые вы будете использовать, обычно несущественны).
7
* Maple выполняет точные вычисления. > 1/2 + 1/3;
> 1/sqrt(2);
> 1/2 * Pi;
Заметим, что операция умножения должна быть явно обозначена, например, > 3*5/2^99; 15/633825300114114700748351602688 Предупреждение: При вводе команды без точки с запятой, вы получите новое приглашение, но без каких либо результатов. Вы должны просто набрать на этой новой строке ";" и нажать Enter. > 2^99 >; Вы можете теперь вернуться назад и отредактировать ваши команды, повторно ввести, или удалить их, таким же образом как вы делали бы это в MS Word. Упрощение арифметических выражений производится автоматически. Maple "знает" все о целых числах, дробях, вещественных и комплексных числах (по умолчанию, буква "I" означает "мнимый" квадратный корень из –1). Вот последовательность из трех комплексных чисел: > sqrt(-1), (1+I)^2, (1+I)^2-sqrt(-4); I, 2 I, 0 * Maple выполняет приближенные вычисления. Если вы обозначите десятичную точку или явно велите вычислить значение выражения в виде числа "с плавающей запятой", то результатом будет десятичное число. > 1/2. + 1/3 ; > evalf( 1/sqrt(2) );
8
> evalf(Pi,1000);
* Основной особенностью Maple являются символьные вычисления. Maple знает, как обращаться с алгебраическими выражениями. Maple "знает" формулу для корней квадратного уравнения: > solve(a*x^2 + b*x + c = 0, x);
и может выполнять алгебраические операции: > (x*y - y^2)/(x - y);
> simplify(%); Обратите внимание на использование символа % для ссылки на последний вычисленный результат. Вы можете также давать имена выражениям, для последующего обращения к ним. В следующем примере "p" делается сокращенным обозначением для выражения справа. > p := x^2 - 8*x + 15;
":=" следует читать как "присвоить", а просто "=" используется для уравнений. Чтобы найти значение "x" такое что x2 – 8 x + 15 = 3, вы можете теперь воспользоваться "p" как сокращенным обозначением: > solve(p = 3, x); factor(p - 3);
Обратите внимание на то, что вы можете вводить более чем одну команду одновременно.
9
Мы можем использовать Maple для решения системы уравнений. Фигурные скобки { } обозначают множества. > solve( {2*x + 3*y = 22, x + 2*y = 13}, {x,y} ); Мы можем создать список решений и обращаться к любому из них. Квадратные скобки [ ] обозначают списки, а "операндами" являются номера позиций в этих списках. > soln := solve(x^3 - x^2 + x - 1, x); > soln[2]; > soln[2]^2; Мы можем также использовать Maple для работы с задачами дифференциального и интегрального исчисления. Мы можем автоматизировать вычисление производных, критических точек, и многое другое. > dpdx := diff(x^2 - 8*x + 15, x); dpdx := 2 x - 8 > critical_point := solve(dpdx = 0, x); Именовать получаемый результат не требуется, но часто это бывает очень полезным. > int(x^2, x);
Обратите внимание на то, что в неопределенном интеграле не добавляется член с "постоянной интегрирования". > int(x^2, x = 0 .. 2);
> int(sqrt(1 + cos(x)), x);
ПРЕДУПРЕЖДЕНИЯ... В любой версии Maple, работающей в среде Windows, вы можете редактировать и повторно вводить команду. Например, вы могли бы иметь > x := 4: > y := sqrt(x);
10
Если вы теперь отредактируете первую строку, то вы можете получить очень странный результат: > x := 9: > y := sqrt(x); y := 2 Если две команды расположены далеко одна от другой, а ответы не очевидны, то это может превратиться в настоящую проблему. Следует помнить о двух вещах: * Изменение x не изменяет ни y, ни результат выполнения любой другой команды. * Вы не можете определить состояние вычисляющего устройства, просто глядя на рабочее поле экрана. Если вы зададите x := 4, то вы не сможете выполнить solve(2*x = 4,x). Maple будет интерпретировать это как "реши уравнение: два умножить на четыре равно четырем, относительно четырех", что просто бессмысленно. > x := 4; > solve(2*x = 4, x); Error, (in solve) a constant is invalid as a variable, 4 т.е. "Ошибка (в solve) -- константа не может использоваться в качестве переменной". Для того, чтобы восстановить "не присвоенное" состояние переменной x, используйте одиночные кавычки, следующим образом: > x := 'x'; > solve(2*x = 4); Обычно можно избежать подобного присваивания, используя подстановку (substitution). > subs(x = 2, x^2 + 1);
Полезно использовать команду > restart: Эта команда "перезапускает" систему Maple V, отменяя все ранее выполненные присваивания для переменных и процедур, и отключая все ранее подключенные библиотечные пакеты Maple. Другой способ состоит в том, чтобы вместо алгебраических выражений использовать функции. Функции мы рассмотрим в этом пособии несколько позже.
11
Будьте внимательны и отличайте одиночные кавычки (апострофы) ', которые задерживают вычисление значения, от обратных кавычек `, которые используются для выделения имен (идентификаторов) и двойных кавычек ", которые используются для выделения строк литер. > `My lucky number`:=7; `My lucky number`-2; `My lucky number` := 7 5 > print("Как вы поживаете?"); "Как вы поживаете?"
3. КАК СОХРАНИТЬ И ПОЛУЧИТЬ ОБРАТНО ВАШУ РАБОТУ Maple для Windows сохраняет файлы почти так же, как и любое другое приложение Windows: используйте меню File, выберите Save или Save as... . Вы получите файл со стандартным расширением ".mws" .Выберите Open, чтобы получить обратно рабочее поле из файла. Заметим, что результаты вычислений не сохраняются в файле. После повторного получения вашего ранее сохраненного рабочего поля следует вновь последовательно нажать Enter на всех исполняемых ячейках, или из меню Edit выбрать Execute и Worksheet. По умолчанию, запись (Save) производится на текущий диск, например, на рабочий диск E:. После завершения работы скопируйте нужные вам Maple-файлы на свою дискету (дисковод A:) и, при желании - в личный архив (диск K:). Заметим, что Save as... открывает диалоговое окно, в котором, помимо местонахождения и нового имени файла, подлежащего сохранению, вы можете указать, каким типом файла вы желаете воспользоваться. Для сохранения текущего рабочего поля как сеанса работы в Maple V, выберите расширение .mws . Расширение .txt обеспечит сохранение материалов рабочего поля в виде простого текстового ASCII файла. УПРАЖНЕНИЕ: Присвойте a:= 16; , затем сохраните (Save) сеанс вашей работы, завершите работу (Quit), повторно запустите Maple и вновь загрузите (Open) ваше рабочее поле. Проверьте действуют ли по-прежнему операции присваивания (т.е., если a:=16 до сохранения, будет ли a:=16 после обратного получения?). Сохраняйте почаще, чтобы застраховаться от потери результатов своего труда.
12
4. ПАКЕТЫ MAPLE Maple имеет "модульную структуру" -- не все функции этой системы загружаются при ее начальном запуске. Более специализированные возможности должна быть загружены дополнительно. Чтобы упростить этот процесс, большая часть таких функций собрана в пакеты, которые можно загружать как группу дополнительных возможностей. Например, чтобы загрузить функции для задач линейной алгебры и векторного исчисления, введите > with(linalg): Чтобы получить список загружаемых при этом функций, завершите команду точкой с запятой. УПРАЖНЕНИЕ: Введите одну из следующих команд, и запишите добавленные при этом функции (в следующем разделе мы сообщим вам во всех подробностях, как выяснить, что они делают). > with(linalg); > with(student); > with(plots); > with(stats); В качестве примера рассмотрим некоторые возможности одного из самых "милых" для студентов-математиков пакета student. Вычислим интеграл
∫x
4
x 5 + 1 dx . Maple V позволяет сделать это без труда:
> I1 := Int(x^4*sqrt(x^5+1),x): % = value(%);
А теперь посмотрим, как действует метод подстановки (замены переменной), для чего воспользуемся командой changevar пакета student. Сделаем подстановку u = x5 + 1 : > I2 := student[changevar](x^5+1=u,I2,u);
Найдем значение полученного интегралa: > value(%);
13
И, наконец, произведем обратную подстановку: > subs(u=x^5+1,%);
Теперь вычислим интеграл
∫x
3
ln x dx :
> Int(x^3*ln(x),x): %:=value(%);
Рассмотрим известную формулу интегрирования по частям
∫ uv' dx = uv − ∫ u' v dx
и вычис-
лим этот же интеграл, используя функцию intparts пакета student. В качестве u выберем ln(x ) : > student[intparts](Int(x^3*ln(x),x),ln(x)): %=value(%);
Пакет student имеет также ряд функций для числового приближения к интегралу методами прямоугольников, трапеций, Симпсона и соответствующей графической иллюстрации этих методов. Некоторые из этих возможностей показаны ниже.
14
Здесь три вида графиков построены в отдельных графических окнах (более подробно графические возможности Maple обсуждаются в Разделе 6.
5. СИСТЕМА ДИАЛОГОВОЙ ПОДСКАЗКИ В MAPLE Встроенная подсказка Для общей подсказки, в спускающемся меню Help, Maple предлагает вам мощную справочную базу данных. Вы можете искать что-нибудь подходящее по контексту. Имеются также очень полезные режимы предметного поиска. Чтобы получить подсказку по любой команде или процедуре Maple, ну скажем, simplify, введите ?simplify после приглашения Maple. Появится окно следующего содержания:
Как вы видите, справочная система Maple V Release 5 обеспечивает расширяемый тематический поиск, реализованный с помощью меню, содержащего до пяти уровней поиска. Полный текст полученной нами подсказки приведен ниже.
simplify - Apply Simplification Rules to an Expression Calling Sequence: simplify(expr) simplify(expr, n1, n2, ...) simplify(expr, assume=prop)
15
Parameters: expr - any expression n1, n2,… - (optional) names or sets or lists prop - any property (optional)
Description:
· The simplify function is used to apply simplification rules to an expression. If only one argument is present, then simplify will search the expression for function calls, square roots, radicals, and powers. Next it will invoke the appropriate simplification procedures, which include: BesselI, BesselJ, BesselK, BesselY, D, Ei, GAMMA, RootOf, LambertW, dilog, exp, ln, sqrt, polylog, pochhammer, trig (for trig functions), hypergeom (for hypergeometrics), radical (occurrence of fractional powers), power (occurrence of powers, exp, ln), and atsign ("@") (for operators).
· In the case of two or more arguments where the additional arguments are names, simplify will only invoke the simplification procedures specified by the additional arguments. · Further information on the simplification procedures supported is available in the help pages simplify[name] where name is one of: Ei, GAMMA, RootOf, atsign, hypergeom, ln, polar, power, radical, sqrt, trig. · A user can make his own simplifications known to the simplify function by defining a Maple procedure. If the procedure `simplify/f` is defined then the function call simplify(a,f) will invoke `simplify/f`(a) . · The case of two or more arguments where the additional arguments are sets or lists is used for simplification with respect to side relations. See the subtopic simplify[siderels] for details. · Whenever the last argument is assume=prop, all the indeterminates in expr are assumed to have the property prop to compute the simplified expression.
Examples: > simplify(4^(1/2)+3);
5 > simplify((x^a)^b+4^(1/2), power); > simplify(exp(a+ln(b*exp(c))));
( xa ) b + 2 b e(a+c)
> simplify(sin(x)^2+cos(x)^2, trig);
1 > e := cos(x)^5 + sin(x)^4 + 2*cos(x)^2 - 2*sin(x)^2 - cos(2*x): simplify(e);
cos(x)5 + cos(x)4
16
> f := -1/3*x^5*y + x^4*y^2 + 1/3*x*y^3 + 1: simplify(f, {x^3 = x*y, y^2 = x+1});
1 + y5 + y4 - 2 y3 - y2 + y
> g:=sqrt(x^2);
g := x
2
> simplify(g);
csgn(x) x > simplify(g,assume=real);
signum(x) x > simplify(g,assume=positive);
x
See Also: collect, combine, convert, expand, factor, normal, radsimp, assume, simplify[name] where name is one of: Ei, GAMMA, RootOf, atsign, hypergeom, ln, polar, power, radical, sqrt, trig
Как известно, Канада, где разработан Maple, это (в основном) англоязычная страна. Поэтому и все подсказки даются на английском языке, и с этим вам придется примириться. Пока что нет русифицированной версии Maple, однако, в порядке исключения, далее мы даем перевод этой подсказки на русский язык:
simplify - Применяет правила упрощения к выражению Командная последовательность: simplify(expr) simplify(expr, n1, n2, ...) simplify(expr, assume=prop)
Параметры: expr - любое выражение n1, n2,... - (необязательные) имена систем или списков prop - любое свойство (необязательно)
Описание:
· Функция simplify используется для применения правил упрощения к выражению. Если имеется только один аргумент, то simplify будет искать в выражении вызовы функций, квадратные корни, радикалы и степени. Затем она обращается к соответствующим процедурам упрощения, в том числе: BesselI, BesselJ, BesselK, BesselY, D, Ei, GAMMA, RootOf, LambertW, dilog, exp, ln, sqrt, polylog, pochhammer, trig (для тригонометрических функций), hypergeom (для гипергеометрических), radical (наличие дробных степеней), power (наличие показателей степени, экспонент, логарифмов), и atsign ("@") (для операторов). · В случае двух или более аргументов, когда дополнительными аргументами являются имена, simplify будет обращаться лишь к тем процедурам упрощения, которые определены для этих дополнительных аргументов.
17
· Дальнейшая информация о поддерживаемых процедурах упрощения имеется на страницах подсказки simplify[name] где name это одно из: Ei, GAMMA, RootOf, atsign, hypergeom, ln, polar, power, radical, sqrt, trig. · Пользователь может сообщить функции simplify о своих собственных упрощениях, определяя процедуру в Maple. Если определена процедура `simplify/f`, то вызов функции simplify(a,f) обеспечит обращение к `simplify/f`(a) . · В случае двух или более аргументов, когда дополнительными аргументами являются системы или списки, упрощение производится по дополнительным соотношениям. Подробности смотрите в подтеме simplify[siderels] . · Когда последним аргументом является assume=prop, то при вычислении упрощенного выражения предполагается, что все переменные в expr обладают свойством prop.
Примеры:
..............
Смотри также: collect, combine, convert, expand, factor, normal, radsimp, assume, simplify[name] где name это одно из: Ei, GAMMA, RootOf, atsign, hypergeom, ln, polar, power, radical, sqrt, trig. * Заметьте, что упрощение это хитрая штука -- "простейшая" форма часто зависит от контекста. Например, иногда вы хотели бы иметь многочлен в раскрытом виде; а иногда вы предпочли бы разложить его на множители. В разделе подсказки See Also ("Смотри также") показаны возможные альтернативы. * Вы можете перейти сразу к примерам, введя ???simplify .
Полезное упражнение Система подсказки в Maple является чудесным самоучителем! "Прогулка" по темам страницам поисковой системы - это весьма поучительное УПРАЖНЕНИЕ. После появления подсказки по теме можно использовать спускающееся меню Edit и выделить весь ее текст: Select All (Ctrl+A), затем скопировать его в буфер: Copy (Ctrl+C) и вставить его: Paste
(Ctrl+V) в ваше рабочее поле. Можно скопировать на свое рабочее поле только примеры из подсказки: Copy Example, тогда вы можете увидеть, что эти примеры делают. *
Запустите Help и выберите Using Help. Затем щелкните в поисковом "браузере" на
Mathematics, Algebra, Expression Manipulation, Simplifying, и simplify. Потом вы сможете "убрать" с экрана ненужные окна подсказки.
18
* Выполните Topic Search (предметный поиск) для simplify. Выберите любую тему; скопируйте примеры на ваше рабочее поле и выполните их, чтобы увидеть, что же они делают. * Выполните предметный поиск с полным обзором текста справки (Full Text Search) по слову normal; выберите любую тему. * Попробуйте ввести следующие команды: > ?help > ?int > ?solve > ?fsolve > ?inifcns > ?interface > ?packages > ?student
6. ПОСТРОЕНИЕ ГРАФИКОВ Maple может без труда строить графики. Рассмотрим некоторые примеры команд построения графиков (plotting): Начнем с простого графика: > plot( x^2, x=-2 .. 2 );
Изображение появилось в области вывода рабочего поля. При необходимости, график можно вывести в соответствующее отдельное окно графики, используя меню Options, подменю Plot Display, опцию Window.
19
Теперь добавим управление границами графика по вертикали: > plot(exp(x), x=-10..10, y=-10..10);
Можно одновременно отобразить несколько графиков: > plot({sin(x), x, x-x^3/6}, x=-2..2);
Параметрические кривые строятся следующим образом: > plot( [ t*cos(t), t*sin(t), t = 0 .. 2*Pi ] );
20
Наконец, возможно также построение трехмерных графиков (графиков функций двух переменных): > plot3d( 4 - x^2 - y^2, x=-3..3, y=-2..2, axes=BOXED);
Теперь вы можете изменять режимы построения координатных осей и "раскраску" изображения, пользуясь меню и соответствующими "кнопками" в верхней части окна Maple. Трехмерный график вы можете вращать, держа нажатой левую кнопку мыши в любой части графика. УПРАЖНЕНИЕ: Введите следующие команды. Каждая из них дает примеры, скопируйте некоторые из них на ваше рабочее поле (и видоизмените их, если пожелаете). > ?plot > ?plot3d > ?plot[function] > ?plot[options] > ?plotdevice > ?showtangent > ?plots
7. ФУНКЦИИ И ПРОЦЕДУРЫ Функции Математическая "функция" это отображение одного множества чисел на другое. Чтобы определить функцию, вы должны предусмотреть правило, ставящее одно число в соответствие другому. Рассмотрим следующий набор команд: > f := x^2;
21
> f := x -> x^2;
Первая строка определяет f как сокращенное обозначение выражения x2; вторая строка определяет f как функцию от x. После определения f таким образом, f(x) действует так, как и надлежит: > f(3), f(10), f(x), f(y), f(a + b);
Предупреждение: Команда f(x) := x^2 делает четыре символа слева сокращенным обозначением для трех символов справа; такая команда не определяет функцию! А вот пример векторно-значной функции двух переменных: > h := (x,y) -> linalg[vector] ([x^2-y^2,2*x*y]): h(u,v);
[u2 – v2, 2 u v] Функции часто оказываются более полезными, чем выражения. Однако, многие команды Maple (например, diff) предполагают, что на их входе будет выражение. Если ввести > f:= x -> x^2, diff(f,x);
то такая команда не сработает; однако, > diff(f(x),x);
будет работать, поскольку результатом f(x) является x2; работает также > diff(f(y),y);
выдавая 2y . [Между прочим, имеется вариант дифференцирования для "функции"; введите ?D для получения дополнительной информации].
Когда функция "прилагается" ("applied") к переменной, то в результате получается выражение. Чтобы превратить выражение в функцию, воспользуйтесь командой unapply: > f := unapply(x^3, x); f(3);
Эта команда часто используется в связи с solve, например: > soln := solve( y = x^2 - a, x);
Имеются два решения, к которым можно обратиться как к soln[1] и soln[2] (обратите внимание на квадратные скобки). Предположим, что вы хотите использовать второе из этих выражений, чтобы определить функцию; это делается следующим образом: 22
> g := unapply(soln[2], a); > g(x); g(4);
УПРАЖНЕНИЯ: * Поэкспериментируйте со "стрелочным обозначением" для создания функций. * Поэкспериментируйте с выражениями и командой unapply для создания функций.
Процедуры Функции являются частным случаем процедур. Процедура - это совокупность команд, подобная "подпрограмме" в некоторых компьютерных языках. Функция, определенная выше как f := x -> x^2; это то же, что и > f := proc(x) x^2 end;
Процедуры полезны для более сложных работ, которые могут охватывать много строк, учитывать выбор из многих различных случаев, или выполнять много действий. Рассмотрим еще один короткий пример процедуры: > sqroot := proc(x) # Вычисляет квадратный корень по методу Ньютона local xstart, xnew, i; xstart := 1.; for i from 1 to 100 do xnew := ( xstart + x/xstart )/2; print(xnew); if abs(xnew - xstart)/xnew < 10^(-4) then RETURN() fi; xstart := xnew; od; end:
Заметим, что для получения нескольких строк после одного приглашения к вводу ">" следует воспользоваться Shift+Enter.
23
После создания этой процедуры, она дает: > sqroot(2);
1.500000000 1.416666667 1.414215687 1.414213563 УПРАЖНЕНИЯ: * Напишите процедуру bigger, такую, чтобы команда bigger(n,m); печатала true если n больше чем m, и false, если n меньше чем m. * Напишите процедуру squaresum, вычисляющую сумму квадратов первых 100 натуральных чисел (т.е., 1+4+9+...+10000). * Сравните вашу squaresum(100) с sum(n^2, n=1 .. 100). * Видоизмените вашу процедуру squaresum так, чтобы вычислять сумму первых N квадратов, где N это любое натуральное число.
8. ПОИСК И УСТРАНЕНИЕ ОШИБОК Хотя на первых порах ошибки в работе с Maple могут очень вас смущать, вы быстро приобретете опыт, необходимый для того, чтобы понимать и исправлять их. Приведем список наиболее распространенных ошибок и способов их устранения. 1. Оканчивается ли оператор точкой с запятой или двоеточием? 2. Сбалансированы ли круглые скобки, фигурные скобки, квадратные скобки и т.д.? Набор символов наподобие {x, y} хорош, но x, y} может привести к ошибке. 3. Не пытаетесь ли вы использовать что-либо в качестве переменной, которой вы уже присвоили значение? Чтобы "очистить" переменную x, скажите unassign('x') или x:='x'. Вы можете очистить сразу несколько переменных, например, unassign('x', 'y'). Вам не придется перезагружать какие-либо пакеты. Помните, что переменная, которой присвоено значение, не может более работать как переменная. Чтобы отобразить значение простой переменной, введите ее имя с последующей точкой с запятой, например, > x; 4. Если дело кажется безнадежно запутанным, дайте команду > restart; После этого вам придется перезагрузить все необходимые пакеты. 5. Не используете ли вы функцию, когда было вызвано выражение, или наоборот? Помните, ff:=x^2+y^2 определяет выражение, тогда как f:=(x,y)->x^2+y^2 определяет функцию. Имеет смысл сказать f(1,3), но нет никакого смысла говорить ff(1,3).
24
6. Не используете ли вы = когда требуется := ? Помните, что первое это проверка на равенство, в то время как второе присваивает значение переменной. 7. Различаете ли вы три вида кавычек? Это: " (двойная кавычка), ' (одинарная кавычка – апостроф), и ` (обратная кавычка). 8. В операторах цикла, do должно быть сбалансировано последующим od. В условных операторах, if должно быть сбалансировано последующим fi. 9. Определение процедуры, которое начинается с proc(…), должно завершаться последующим end. После proc(…) точка с запятой не ставится! 10. Если вы используете функцию из пакета, загрузите сначала пакет. Так, чтобы использовать matrix, загрузите linalg; чтобы использовать display, загрузите plots. Вы загрузите linalg командой with(linalg). 11. Не путайте unassign с unapply. 12. Не забывайте использовать ? для получения подробной справки о функции Maple, например, ?plot для получения информации о plot, или просто ? для получения общей информации.
9. ЗАДАНИЯ И УПРАЖНЕНИЯ 1. Упростите выражение
∫(
4+2 3 .
1
2. Вычислите
9
)
1 − x 17 − 17 1 − x 9 dx .
0
3. Вычислите первую и вторую производные от sin x ⋅ cos x по x. 4. Дан многочлен: y(x) = x3 - 4x2 + 4x - 1 . Найдите корни этого многочлена и все его ло-
кальные минимумы и максимумы. Проконтролируйте это решение, построив график функции y(x). 5. Дано f = x2 - 4. Вычислите интегралы от f и 1/f по x. Проверьте правильность результа-
тов путем их дифференцирования.
∫
6. Вычислите следующие интегралы:
∞
0
∞
1000
7. Вычислите следующие суммы:
∑k
∫
e − t dt и
0
1
∑k
и
k =1
k =1
∞
2
2
e − t dt .
.
8. Получите формулу для суммы первых n натуральных чисел, а также для суммы квадраn
тов первых n натуральных чисел, т.е. вычислите и упростите суммы:
∑k и k =1
25
n
∑k k =1
2
.
9. Дана функция h( x ) = 1 − x + sin x. Определите эту функцию в Maple и вычислите значе-
ние функции h при x = 2.0; затем постройте график этой функции в области [-5,5]. 10. Введите в Maple следующую матрицу A: ⎛ a 0 5⎞ ⎜ ⎟ A = ⎜ 1 1 1⎟ . ⎜ ⎟ ⎝ − a 0 0⎠
1. Вычислите характеристический многочлен для A. Указание: Воспользуйтесь командами charmat и det в пакете линейной алгебры linalg.
2. Вычислите собственные значения матрицы A. Указание: Воспользуйтесь командами solve и factor, чтобы найти корни характе-
ристического многочлена. 11. Воспользуйтесь командой solve для решения линейной системы: 4 x − 5 y = 11, 2 x + y = 9.
12. Найдите разложение функции sin(x) в ряд Тейлора до членов порядка 6 в точке x = 0,
используя команду taylor. Затем с помощью команды convert преобразуйте полученное выражение в многочлен (без остаточного члена). Для наглядного представления о точности такой аппроксимации постройте одновременно графики sin(x) и полученного многочлена 6й степени при x∈ [0,4]. 12a. Повторите такие же операции для разложения sin(x) в ряд Тейлора до членов по-
рядка 10. 13. Решите задачи NN 12, 12a, но с использованием команды series (и стандартной пере-
менной Order, определяющей порядок разложения. 14. Используйте команду limit, чтобы найти пределы функции: a)
f (x) =
x 2 − 2x + 1 , x 4 + 3x 3 − 7 x 2 + x + 2
b)
f (x) =
2x + 3 , 7x + 5
при x→ 1.
при x→ ∞.
Теперь рассмотрим задания, связанные с дифференциальными уравнениями. Для решения дифференциальных уравнений можно, в частности, использовать команду дифференцирования diff и команду – "решатель ОДУ" dsolve.
26
15. Решите систему ОДУ:
x ' ( t ) = − x ( t ) + ay ( t ), y ' ( t ) = bx ( t ) − y ( t ).
при начальных условиях x(0) = 1, y'(0) = 0. 16. Решите ОДУ 2-го порядка:
a)
y(x) + y"(x) = ex
при начальных условиях y(0) = 1, y'(0) = 0. б)
y"(t) + 5 y'(t) + 6 y(t) = 0
при начальных условиях y(0) = 0, y'(0) = 1. Примечание: Команда дифференцирования для функции имеет вид D, для выражений эта команда имеет вид diff. 17. Решите ОДУ 4-го порядка:
106 yIV(x) = δ(x-2) - δ(x-4) при граничных условиях на y(x) и y"(x): y(0) = 0,
y"(0) = 0,
y(5) = 0,
y"(5) = 0.
Дельта-функция Дирака δ(x) в Maple записывается как Dirac(x). Решение этой краевой задачи сохраните под именем "soln", а затем постройте график найденной функции для x = 0..5. 18. Решите систему двух ДУ 2-го порядка:
y"(x) = z(x), z"(x) = y(x), не вводя дополнительных условий. Maple создаст соответствующие константы C1,...,C4. Общие указания к NN 15-18: 1. Проверьте правильность найденных вами решений дифференциальных уравнений путем их подстановки в уравнения. 2. Попробуйте поработать с пакетом "DEtools"
27
ПРИЛОЖЕНИЕ 1. Maple V Release 5: КРАТКАЯ СПРАВКА Символы и сокращения
Символ := ; : .. { } [ ] %
" " (см. ?strings) ` ` (см. ?names) ' ' (см. ?uneval) -> @ @@ $
Описание
Пример
присваивание завершение команды; результат отображается завершение команды: результат не отображается определение диапазона или интервала
f := x^2/y^3; int := ( x^2, x );
ограничитель множества (множество это неупорядоченный список) ограничитель списка (списки упорядочены) ссылка на предыдущий результат (знак процента) Примечание: В предыдущих версиях это был знак " (кавычки)
{ y, x, y };
ограничитель строки (двойные кавычки) Примечание: Появился в Release 5 ограничитель имени (обратные апострофы) отмена присваивания (апострофы)
int := ( x^2, x ): plot ( t*exp(-2*t), t=0..3 );
{ y, x, y }; Int( exp(x^2), x=0..1 ): % = evalf( % );
plot( sin(10*x) + 3*sin(x), x=0..2*Pi, title="An interesting plot" `A name` := `This is a name`; x := 'x';
f := ( x, y ) -> x^2*sin(x-y); f( Pi/2,0 ); оператор композиции ( cos@arcsin )(x); повторный оператор композиции ( D@@2 ) ( ln ); формирование последовательности вы- ( i^2+1 ) $ i=1..5; ражений diff( exp(a*x), x$4 ); определение отображения (функции)
Математические операции, функции и константы
Символ +, -, *, /, ^ sin, cos, tan, cot, sec, csc arcsin, arccos, arctan, arccot, arcsec, arccsc exp ln log10 abs sqrt ! =, <>, <, <=, >, >= Pi, I infinity
Описание
Пример
сложение, вычитание, умножение, деле- 3*x(-4) + x/Pi; ние, возведение в степень тригонометрические функции sin( theta-Pi/6 ) – sec( theta^2 ); обратные тригонометрические функции
arctan( 2*x );
экспоненциальная функция натуральный логарифм обычный логарифм (по основанию 10) абсолютное значение квадратный корень факториал равенства и неравенства Примечание: E больше не существует, пользуйтесь exp(1) π, i (математические константы) Примечание: Maple чувствителен к регистру клавиатуры Бесконечность ( ∞ )
exp( 2*x ); ln( x*y/2 ); log10( 1000 ); abs( (-3)^5 ); sqrt( 24 ); k!; diff( y(x), x ) + x*y(x) = F(x); exp(Pi) > Pi^exp(1);
28
Exp( Pi*I );
Int( x^(-2), x=1..infinity );
Команды
Команда restart with help limit diff int Limit Diff Int value plot plot3d display
solve fsolve dsolve odeplot
DEplot D subs simplify factor convert collect rhs lhs numer denom evalf evalc
Описание
Пример
отмена всех определений Maple загрузка пакета Maple отображение интерактивной справки Maple вычисление предела вычисление производной выражения определенное или неопределенное интегрирование инертная (отложенная) форма limit инертная (отложенная) форма diff инертная (отложенная) форма int вычисление инертного выражения (обычно используется с Limit, Diff или Int) создание 2-мерного графика функций
restart; with( Detools ); with( plots ); ?DEplot limit( sin(a*x)/x, x=0 ); diff( a*x*exp(b*x^2)*cos(c*y), x ); int( sqrt(x), x=0..Pi ); Limit( sin(a*x)/x, x=0 ); Diff( a*x*exp(b*x^2)*cos(c*y), x ); Int( sqrt(x), x=0..Pi ); G := Int( exp(–x^2), x ); value( G );
plot( u^3, u=0..1, title="cubic" ); plot( [sin(x), cos(x)], x=0..Pi ); создание 3-мерного графика функций plot3d(sin(x)*cos(y),x=0..4*Pi,y=0..Pi); отображение графических структур (в with( plots ): пакете plots) F:=plot( exp(x), x=0..3, style=line ); G:=plot( 1/x, x=0..3, style=point ); display( [F,G], title=”2 curves” ); решение уравнений или неравенств solve( x^4 – 5*x^2 + 6*x = 2, { x } ); решение с использованием арифметики с fsolve( t/10 + t*exp(-2*t) = 1, t ); плавающей запятой решение обыкновенных дифференци- dsolve( diff(y(x),x)-y(x)=1, y(x) ); альных уравнений; список возможных опций см. в ?dsolve создание 2D и 3D графиков из решений, with( plots ): полученных при помощи dsolve (с S:=diff(x(t),t)=-y(t),diff(y(t),t)=x(t): type=numeric); другие опции см. в IC:=x(0)=1,y(0)=1: P:=dsolve({S,IC}, {x(t),y(t)}, numeric): ?odeplot (в пакете plots) odeplot(P, [ [t,x(t)], [t,y(t)] ], 0..Pi); odeplot(P, [x(t),y(t)], 0..Pi); создание графика, связанного с ОДУ или ODE := diff( y(x),x ) = 2*x*y(x); системой ОДУ; дополнительная инфор- DEplot( ODE, [y(x)], x=-2..2, мация в ?Deplot (в пакете DEtools) y=-1..1, arrows=SMALL ); дифференциальный оператор (часто ис- ODE := diff(y(x),x$2) + y(x) = 1; пользуется при записи производных в IC := y(0)=1, D(y)(0)=1; начальных условиях для dsolve) dsolve( { ODE, IC }, y(x) ); подстановка значений в выражение subs( x=r^(1/3), 3*x*ln(x^3) ); применение правил упрощения для вы- simplify( exp( a+ln(b*exp(c)) ) ); ражений разложение многочлена на множители factor( (x^3-y^3) / (x^4-y^4) ); преобразует выражение к другому виду convert( x^3 / (x^2-1), parfrac, x ); собирает коэффициенты при одинако- collect( (x+1)^3*(x+2)^2, x ); вых степенях правая часть уравнения rhs( y = a*x^2 + b ); левая часть уравнения lhs( y = a*x^2 + b ); извлекает числитель выражения numer( (x+1)^3 / (x+2)^2 ); извлекает знаменатель выражения denom( (x+1)^3 / (x+2)^2 ); вычисляет значение с использованием evalf( exp( Pi^2 ) ); арифметики с плавающей запятой вычисляет значение комплексного вы- evalc( exp( alpha+I*omega ) ); ражения (возвращает значение в виде a+I*b)
29
evalb assign seq for … while … do … od assume about
вычисляет значение логического выражения (возвращает true или false) выполняет присваивания (часто используется с solve или dsolve) создает последовательность оператор повторения; см. синтаксис do for
evalb( evalf( exp(Pi) > Pi^exp(1) ) );
S:=solve( {x+y=1, 2*x+y=3}, {x,y} ); assign( S ); x; y; sec( [0,i], i=-3..3 ); tot := 0; for i from 11 by 2 while i < 100 do tot := tot + i^2 od; информирует Maple о дополнительных assume( t > 0 ); свойствах объектов проверяет предположения об объектах about( t ); Maple
ПРИЛОЖЕНИЕ 2. ПОСТРОЕНИЕ СПЛАЙН-ПОВЕРХНОСТИ СРЕДСТВАМИ Maple V В качестве примера, иллюстрирующего возможность использования системы Maple V при решении сложных содержательных проблем, рассмотрим задачу построения и визуализации сплайн-поверхности, восстанавливающей функцию двух переменных по ее значениям в конечном числе произвольных точек плоскости (см., например: Сплайн-поверхности: Методическая разработка. Сост. В.О. Ашкеназы. - Тверь: Тверской гос. ун-т, 1993). Если функция двух переменных f ( x, y ) задана своими значениями в конечном числе точек:
{(xi , yi ),
}
f i = f ( xi , yi ) ; i = 1, N ,
то ее можно интерполировать сплайн-поверхностью Sp ( x, y ) , которая является решением вариационной задачи 2 2 ⎫ ⎡⎛ 2 ⎞ 2 ⎛ ∂ 2 Sp ⎞ ⎛ ∂ 2 Sp ⎞ ⎤ ∂ Sp ⎢⎜ ⎟ + 2⎜ ⎟ +⎜ ⎟ ⎥ dx dy → min,⎪⎪ J 2 (Sp ) = ⎜∂ x ∂ y⎟ ⎜ ∂ y2 ⎟ ⎥ ⎢⎜ ∂ x 2 ⎟⎠ ⎬ ⎝ ⎠ ⎝ ⎠ ⎦ − ∞ − ∞ ⎣⎝ ⎪ ⎪⎭ Sp ( xi , yi ) = f i , i = 1, N . ∞ ∞
∫ ∫
Это решение имеет достаточно простой вид: Sp (x, y ) =
N
∑ ki ri2 (x, y ) ln ri2 (x, y ) + k N +1 + k N + 2 x + k N + 3 y , i =1
где ri2 (x, y ) = ( x − xi )2 + ( y − yi )2 . Коэффициенты ki , i = 1, N + 3 , значения которых и определяют сплайн-поверхность Sp ( x, y ) , находятся из решения системы N`+3 линейных алгебраических уравнений:
Sp (x j , y j ) = f j ,
⎫ ⎪ ⎬ k i = 0 ; ∑ xi k i = 0; ∑ yi k i = 0; ⎪ ∑ i =1 i =1 i =1 ⎭ N
j = 1, N ;
N
N
30
Решение существует и является единственным, если N ≥ 3 и среди N точек ( xi , yi ) найдутся три точки, не лежащие на одной прямой. Погрешности восполнения функции f ( x, y ) сплайн-поверхностью Sp ( x, y ) можно оценить нормами:
δ2 = ϕ −f
L 2 (Ω )
=
1 Ω
∫∫ ( f (x, y ) − ϕ (x, y )) dx dy 2
Ω
средняя квадратическая погрешность;
δ∞ = ϕ − f
C (Ω )
= sup f ( x, y ) − ϕ ( x, y ) ( x , y ) ∈Ω
максимальная абсолютная погрешность. А теперь запишем соответствующую программу на языке Maple V Release 5.
Построение сплайн-поверхности * Начнем с того, что зададим некоторую тестовую функцию: > restart; > f: = (x,y) -> x^2 + y^2; Вызовем необходимые для дальнейшей работы пакеты linalg и plots : > with (linalg): with (plots): Warning, new definition for norm Warning, new definition for trace
Опишем процедуру ввода случайной последовательности N точек в квадрате − 1 < x, y ≤ 1 : > Vv := proc (N) local p,pt,i; p := rand (-100..100); pt := [seq (p(i)/100., i = 1..2*N)]; matrix (N, 2, pt); end: Теперь зададим N=10 и получим соответствующий двумерный массив T, содержащий координаты десяти узлов интерполяции: > N := 10: > T := Vv(N): Сформируем матрицу MM системы линейных алгебраических уравнений для вычисления коэффициентов сплайн-поверхности: > Ro := proc (x1,x2,y1,y2) local r; r := (x1-x2)^2 + (y1-y2)^2; if r = 0 then 0 else r*ln(r) fi end: > M := matrix (N, N, []): > i := 1: > while i <= N do M [i, i] := 0; for j from i to N do *
Первоначальный вариант этой Maple-программы был разработан Соколовой Н.А. в 1998 г. 31
M [i, j] := Ro (T [j, 1], T[i, 1], T[j, 2], T[i, 2]); M [j, i] := M [i, j] od; i := i + 1; od: > v := vector ([1$N]): vT := concat (v, T): > Tv := concat (transpose (vT), matrix (3, 3, 0)): > MM := stackmatrix (concat (M, vT), Tv): > vf := vector (N + 3): > for i from 1 to N do vf[i] := f (T[i, 1], T[i, 2]) od: > vf[N + 1] := 0: vf[N + 2] := 0: vf[N + 3] := 0:
Решим полученную систему линейных алгебраических уравнений и найдем (N+3)-мерный вектор k коэффициентов сплайн-поверхности: > k := linsolve (MM, vf): Теперь сплайн-поверхность Sp ( x, y ) описывается следующей процедурой: > Sp := proc (x, y) local s, i; s:=0; for i from 1 to N do s := s + Ro (x, T[i, 1], y, T[i, 2])*k[i] od; s + k[N+1] + x*k[N+2] + y*k[N+3]; end:
Для визуализации тестовой функции f ( x, y ) и аппроксимирующей ее сплайн-поверхности Sp ( x, y ) воспользуемся средствами 3D-графики Maple V: > plot3d (f (x, y), x = -1..1, y = -1..1, orientation = [55, 50], axes = BOXED, title = "Test function f(x,y)"); > plot3d (Sp (x, y), x = -1..1, y = -1..1, orientation = [55, 50], axes = BOXED, title = "Thin plate spline Sp(x,y)");
32
Для наглядного сравнения исходной функции и полученной по N точкам сплайнповерхности построим карту линий уровня функции f (x, y) (пунктирные линии) и сплайнповерхности Sp (x, y) (сплошные линии). На этой же карте показаны исходные точки (узлы интерполяции): > points:={seq([T[i,1],T[i,2]],i=1..N)}: > G:=pointplot(points,symbol=CIRCLE,color=blue): > Fl:=contourplot(f(x,y),x=-1..1,y=-1..1,axes=NORMAL,linestyle=2,thickness=2, color=green): > Spl:=contourplot(Sp(x,y),x=-1..1,y=-1..1,axes=NORMAL,thickness=2,color=black): > display({Fl,Spl,G},title=`Contourplot of f(x,y) and Sp(x,y)`);
А теперь оценим погрешности восстановления функции f ( x, y ) сплайн-поверхностью Sp ( x, y ) по данным в N исходных узлах интерполяции. Для приближенного вычисления норм погрешностей > d:=Sp(x,y)-f(x,y): расчеты проведем на сетке из Nxy × Nxy точек в области − 1 < x, y ≤ 1 . > Nxy:=25: > x:=-1+2*irem(m-1,Nxy)/(Nxy-1): > y:=-1+2*iquo(m-1,Nxy)/(Nxy-1): Максимальная абсолютная погрешность приближенно равна: > d1:=max(seq(abs(d),m=1..Nxy^2)); d1 := .841794465 Среднеквадратическую погрешность найдем как > d2:=sqrt(sum(d^2,m=1..Nxy^2)/Nxy^2); d2 := .1790941765 33
ЛИТЕРАТУРА И ПРОГРАММНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ 1. Говорухин В.Н., Цибулин В.Г. Введение в Maple. Математический пакет для всех. – М.: Мир, 1997, – 208 с., ил. 2. Прохоров Г.В., Леденев М.А., Колбеев В.В. Пакет символьных вычислений Maple V. – М.: Петит, 1997. – 200 с. 3. Манзон Б.М. Maple V Power Edition. – М.: Информационно-издательский дом "Филинъ", 1998. – 240 с., ил. 4. Дьяконов В.П. Математическая система Maple V R3/R4/R5. – М.: "СОЛОН", 1998. – 399 с., ил. 5. Ашкеназы В.О. Система аналитических вычислений Maple V: Курс интерактивного обучения. - Тверь: Тверской гос. ун-т, 1999.
ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА Можно рекомендовать также некоторую полезную литературу по компьютерным системам аналитических вычислений: 1. Дэвенпорт Дж., Сирэ И., Турнье Э. Компьютерная алгебра: Системы и алгоритмы алгебраических вычислений. - М.: Мир, 1991. - 352 с., ил. 2. Акритас А. Основы компьютерной алгебры. – М.: Мир, 1994. 3. Система аналитических вычислений REDUCE (Материалы к курсу интерактивного обучения): Метод. разработка: В 2-х ч. / Тверской гос. ун-т; Сост. В.О.Ашкеназы. - Тверь, 1993.
ПОЛУЧЕНИЕ ДОПОЛНИТЕЛЬНОЙ ПОМОЩИ В Maple имеется обширный набор уроков и примеров, доступных через гиперсвязи: в меню Help выберите New Users' Tour (Экскурсия Начинающего Пользователя) или Introduction (Введение).
Русскую версию "Введения", а затем – "Экскурсии начинающего пользователя", а также "Курс интерактивного обучения в 10 уроках" вы получите, щелкнув на пиктограмме Математика / Maple V / Introduction to Maple V Release 5 рабочего стола ОС Windows.
Полезную информацию по Maple можно получить через сеть Интернет, в частности: http:// www.indiana.edu/~statmath/math/maple/ http:// SunSite.informatik.rwth-aachen.de/maple/ http://www.maplesoft.com/ { Интернет-страница фирмы Waterloo Maple Inc.}
34
СОДЕРЖАНИЕ ВВЕДЕНИЕ ..................................................................................................................…….....
3
1. НАЧИНАЕМ ОСВАИВАТЬ MAPLE .............................................................................….
3
2. РАБОЧЕЕ ПОЛЕ MAPLE ...............................................................................................…
4
• Среда рабочего поля ..................................................................................................….
4
• Первые шаги ....................................................................................................................
6
3. КАК СОХРАНИТЬ И ПОЛУЧИТЬ ОБРАТНО ВАШУ РАБОТУ .............................…… 11 4. ПАКЕТЫ MAPLE ..........................................................................................................….
11
5. СИСТЕМА ДИАЛОГОВОЙ ПОДСКАЗКИ В MAPLE ..................................................… 13
• Встроенная подсказка ...............................................................................................…..
13
• Полезное упражнение ...............................................................................................…..
17
6. ПОСТРОЕНИЕ ГРАФИКОВ ......................................................................................……
18
7. ФУНКЦИИ И ПРОЦЕДУРЫ .......................................................................................…..
20
• Функции ....................................................................................................................…...
20
• Процедуры ...............................................................................................................……
21
8. ПОИСК И УСТРАНЕНИЕ ОШИБОК ...........................................................................…. 22 9. ЗАДАНИЯ И УПРАЖНЕНИЯ …......................................................................................
24
10. ПРИЛОЖЕНИЕ 1. MAPLE V RELEASE 5. КРАТКАЯ СПРАВКА ……………………... 27 ПРИЛОЖЕНИЕ 2. ПОСТРОЕНИЕ СПЛАЙН-ПОВЕРХНОСТИ СРЕДСТВАМИ Maple V ..29 ЛИТЕРАТУРА И ПРОГРАММНО–МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ..................….. 33 ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА ……………………………………………………… 33 ПОЛУЧЕНИЕ ДОПОЛНИТЕЛЬНОЙ ПОМОЩИ .........................................................……. 33
35