Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Maple для студентов физиков. Часть 1. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

М. А. Бунин

Maple

для студентов физиков

Учебное пособие

Вдвух частях Часть 1

Ростов-на-Дону Издательство Южного федерального университета

2015

1

УДК 519.6

ББК 22

Б91

Печатается по решению Редакционно-издательского совета Южного федерального университета (протокол № 3 от 23 ноября 2015 г.)

Рецензенты:

доктор физико-математических наук, профессор кафедры ВВ ИКТ Института механики, математики и компьютерных наук

им. И. И. Воровича ЮФУ Г. В. Муратова;

доктор физико-математических наук, профессор кафедры физики РГСУ А.Н. Павлов

Бунин, М. А.

Б91 Maple для студентов физиков : учебное пособие : в 2 ч. Ч. 1 / М. А. Бунин ; Южный федеральный университет. – Ростов-на-Дону : Издательство Южного федерального университета, 2015. – 232 с.

ISBN 978-5-9275-1893-7

Курс обучения работе в пакете аналитических вычислений Maple состоит из девяти лабораторных работ, рассчитанных в среднем на два занятия (две «пары») каждая.

Материал каждой главы представлен так, чтобы облегчить поиск команд/конструкций языка или затронутых тем по физике/математике без подробного просмотра всей темы. В главе «Принципы устройства Maple. Отладка» собраны основные сведения о принципах устройства, работы и символах Maple, кратко рассказано об отладке программ, о наиболее часто встречающихся ошибках и о том, как от них избавляться. Для облегчения работы с английской справочной системой приведены английские эквиваленты русских терминов либо их перевод. В Приложении даны рекомендации по методике прохождения учебного материала и примеры составления учебного плана всего курса: распределение тем в семестре, перечень заданий и примерные сроки их выполнения. Пособие предназначено для студентов-физиков, но его несложно адаптировать для обучения студентов других естественнонаучных направлений: математиков, химиков, инженеров.

ISBN 978-5-9275-1893-7

УДК 519.6

 

ББК 22

 

© Южный федеральный университет, 2015

 

© © Бунин М. А., 2015

 

© Оформление. Макет. Издательство

 

Южного федерального университета, 2015

2

ВВЕДЕНИЕ

Курс обучения работе в пакете аналитических вычислений Maple состоит из девяти частей (лабораторных работ), рассчитанных в среднем на два занятия (две «пары»). В начале каждой есть два списка: «Рассматриваемые в главе вопросы/задачи» и «Упоминаемые в главе команды Maple». Это удобно для поиска команд/конструкций языка или затронутых тем по физике/математике без подробного просмотра всей темы. При первом упоминании в тексте служебного слова Maple, термина, и т. п. в скобках дается либо его перевод, либо английское написание, что помогает в работе со справочной системой. В ряде случаев прямоугольной рамкой выделен список команд изучаемой темы.

Отдельно необходимо упомянуть первую главу. В ней собраны сведения о принципах устройства, работы и символах Maple, кратко рассказано об отладке программ, о наиболее часто встречающихся ошибках и о том, как от них избавляться. Без этих базовых знаний нельзя начинать изучение следующих глав и выполнять задания.

Следующие семь глав посвящены освоению конструкций и возможностей Maple в разных разделах математики – от элементарной до дифференциальных уравнений и их применению для решения задач: как чисто математических, так и физических. В начале каждой главы излагаются основы, сопровождающиеся решением несложных задач, которые затем усложняются и в них добавляются сведения, необходимые и полезные для дисциплин по физике или математике (например, специальные функции, волновой пакет, принцип неопределенности в главе «Графика», электрический диполь, момент инерции в «Расчетах» интерференция волн, конформные отображения в «Комплексной математике» и др.). Сложные или более объемные задачи включены в отдельное учебное пособие. Они могут выполняться отдельно или как курсовые работы, поскольку для них могут потребоваться знания и навыки, полученные при изучении дисциплин математики или физики.

3

Введение

Последние две главы посвящены программированию в Maple (9) и командам символьной алгебры (10). В последней описаны часто применяющиеся алгебраические команды, поэтому во всех случаях, когда вид ответа вас не устраивает, ее можно использовать как справочник. Затратьте несколько минут и просмотрите «по диагонали» главу 10 до раздела, посвященного матрицам.

ВПриложении даны варианты построения учебного плана: распределение тем в семестре, перечень задач и примерные сроки выполнения домашних заданий.

Излагаемый в пособии материал формально предназначен для обучения студентов-физиков. Однако его несложно адаптировать для обучения студентов других естественнонаучных направлений: математиков, химиков, инженеров. Возможно, что такие же задания можно использовать для обучения в другом пакете, например, в MatLab или Mathematica, но для этого понадобится учесть специфику пакета.

Этот курс в течение трех лет входил как вторая часть дисциплины «Методы вычислений», читавшейся студентам второго курса физическогофакультетаЮФУ, обучающихсяпонаправлению223200 (16.03.01) «Техническая физика».

Вразработке использованы учебные материалы зарубежных вузов для обучающихся прикладной физике (Applied Physics):

1.Ross L. Spencer. Introduction to Maple For Physics Students. Brigham Young University 2007.

2.Shingareva I. K., Lizárraga-Celaya C. Maple and Mathematica, 2nd ed., Springer. Wien, N.Y., 2009.

3.Maple 11. Maple User Manual. Maplesoft. 2007.

4

Глава 1. ПРИНЦИПЫ УСТРОЙСТВА MAPLE. ОСНОВЫ ОТЛАДКИ ПРОГРАММ

Эта часть содержит: правила выполнения работ; основные особенности Maple; основы отладки.

Одной из существенных для обучения особенностей Maple является отсутствие русской версии. Весь интерфейс: справка, ссылки, надписи на элементах управления написаны по-английски, поэтому учите язык – пригодится. По той же причине в дальнейшем тексте заголовки, термины и т. п. зачастую сопровождаются соответствующим английским термином.

Лабораторные работы состоят из описания структур языка и примеров их применения к задачам из разных частей университетского курса математики и физики (от механики до квантовой механики). Степень сложности заданий различна: те, что попроще, включены в основной текст, а более сложные даются в конце раздела, главы или во второй части пособия. Много места отведено разбору примеров применения команд, описаны характерные ошибки и сказано как от них избавиться.

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

Желательно попытаться применить освоенные вами возможности Maple для решения задач изучаемых вами курсов физики/математики. Если что-то пошло неправильно – используйте отладочный раздел (Debugging), который находится ниже в этой части.

Перед началом работы посмотрите на палитру слева от рабочего листа. Это символьная справка, из которой можно получить подсказку, если вы забыли форму или вид команды. В ней вы можете выбирать команды интегрирования, дифференцирования, суммирования, построения матриц и т. д.

5

Maple для студентов физиков

Если что-то надо вспомнить – используйте поисковую систему (например, раздел Find в меню Edit; подробнее – см. ниже). Справка может быть трудна для понимания теми, кто недостаточно владеет английским. Поэтому полезно знать принцип ее устройства: в начале дается общее описание команды, затем поясняются смысл и возможные значения ее параметров, а в конце – примеры применения. В них достаточно просто разобраться, чтобы выбрать нужное.

Основные концепции MAPLE

После запуска программы на рабочем листе появляется приглашение:

>

после которого печатается текст команды. В конце строки ставится символ ; (если нужна выдача результата на экран), либо : (выдачи не будет).

По окончании набора команды нажимаете Enter (или Shift+Enter для продолжения текста длинной команды на следующей строке).

Maple выполнит вычисления, выдаст на экран результат и новое приглашение.

Справочная система

Запрос можно написать несколькими способами, напечатав после приглашения:

?function или help(function); или ?help

usage(function); или example(function);

использовать меню Help. Особенно полезно Full Text Search;

выделить функцию и нажать Ctrl-F1 или F1 или F2 (для версий > 9);

нажав Ctrl-F2 получите доступ к быстрой справке (Quick Reference summary) (function – запрашиваема функция, usage – применение, example – пример).

Рабочий лист и интерфейс

Рабочие листы Maple – это файлы, устроенные как набор раскрываемых/сворачиваемых групп, обозначаемых треугольником слева от

6

Глава 1. Принципы устройства Maple. Основы отладки программ

текста. В них записываются команды и отслеживается работа над задачей.

Пакеты

Кроме стандартных библиотечных функций доступны разные пакеты (подпакеты). Детали см. ?index[package].

Загрузка пакета (подпакета) осуществляется командой with.

with(package); func(args); package[subpackage][func](args); with(package[subpackage]); func(args);

package[func](args);

Задача 0.1

Найти квадратную матрицу (n = 3) случайных чисел и вычислить детерминант.

with(LinearAlgebra):

n:=3;

A1:=RandomMatrix(n,n,generator=1..9, outputoptions=[shape=triangular [upper]]);

B1:=Determinant(A1);

restart:

n:=3; A2:=LinearAlgebra[RandomMatrix](n,n,generator=1..9,outputoptions= [shape=triangular[upper]];

B2:=LinearAlgebra[Determinant](A2); A3:=Student[LinearAlgebra][RandomMatrix](n,n,generator=1..9,outputo ptions=[shape=triangular[upper]]); B3:=Student[LinearAlgebra][Determinant](A3);

Основы языка Maple

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

7

Maple для студентов физиков

Пакет Maple предназначен для работы с символами, а не с числами. Поэтому переменные рассматриваются как символы, а не ячейки памяти, к чему вы могли привыкнуть, изучая язык программирования.

Язык Maple – это язык программирования высокого уровня. Он хорошо структурирован и легко изучается, в особенности если уже есть навыки работы с языком высокого уровня. Поддерживается большой набор структур данных или объектов Maple (функций, списков, множеств, последовательностей, массивов (lists, sets, sequences, arrays), таблиц, матриц, векторов и т. п.) и операций с этими объектами.

Библиотечные процедуры Maple доступны и легко читаемы (если знаете английский). Стандартную и встроенную библиотеку можно дополнять пользовательскими программами и пакетами (мы будем ориентироваться на 11-ю версию пакета, вполне достаточную, чтобы успешно работать и в более высоких).

Основные конструкции языка

Арифметические операции: + – * / ^ mod.

Логические операции: and, or, xor, implies, not.

Операции отношения: <, <=, >, >=, =, <>.

Имя переменной, var – это комбинация букв, знаков, символа подчеркивания ( _ ), начинающаяся с буквы, напр., up9_joy.

Сокращения длинных функций Maple или иных выражений: alias, напр., alias(B=Bultoks); diff(B(m),m); для отмены сокращения, alias(B=B);

Maple различает заглавные и строчные буквы (case sensitive),

напр., evalf(Pi) и evalf(pi).

Резервированные слова, символы, имена, функции нельзя использовать как имена переменных, т. е. как имена операторов, глобаль-

ные имена, начинающиеся с ( _ ) (см. ?reserved, ?ininames, ?inifncs, ?names).

Операторы присваивания/расприсваивания (assignment/unassignment): переменная может быть либо «свободна» (без присвоения ей значения), либо ей может быть присвоено какое-либо значение (символьное, численное) с помощью оператора присваивания, напр., a:=b. Важно помнить о различии операторов := и = – см. ниже, а так-

8

Глава 1. Принципы устройства Maple. Основы отладки программ

же примеры в гл. 1, 3. Для очистки (расприсваивания) значения, присвоенного переменной применяются операторы: x:=’x’, evaln(x), или unassign(‘x’) (см. ?:= и ?’).

Различие операторов := и =. (еще об этом – см. гл. 1 и раздел Отладка). Оператор var:=expr применяется, чтобы присвоить переменной var выражение expr, оператор A=B обозначает равенство (не присвоение) правой и левой частей (см. ?rhs), напр.:

Equation:=A=B;

Equation;

rhs(Equation);

lhs(Equation);

Оператор диапазона (..), выражение типа диапазон exprl..expr2, напр.:

a[i] $ i=1..9; plot(sin(x),x=-Pi..Pi);

Команды (Statements), stats: – это вводимые с клавиатуры инструкции, которые Maple должен выполнять (напр., break, by, do, end, for, function, if, proc, restart, return, save, while, not).

Новый рабочий лист (или новую задачу) лучше всего начинать с команды restart – чтобы очистить память Maple.

restart: with(LinearAlgebra): d:=10; for i from 1 to 7 do n:=2^i;

A:=RandomMatrix(n,n,generator=-d..d): t:=time(ReducedRowEchelonForm(A)); print(i,n,t);

od:

Разделители команд: точка с запятой (;) – разрешена выдача результата выполнения команды на рабочий лист, двоеточие (:) – без выдачи на рабочий лист.

Выражение, expr: действующий оператор, сформированный из комбинации констант, переменных, команд, функций.

Типы данных: каждое выражение представляется как древо структур, в котором каждый узел (и лист) имеет свой тип данных. Для ана-

9

Maple для студентов физиков

лиза типа функций каждого узла и ветви можно применить whattype, nops, op.

Булевское выражение, bexpr, образовано логическими операто-

рами и операциями отношения.

Уравнение, eq, представляется бинарным оператором (=) и имеет два операнда: левую часть, lhs, и правую часть, rhs.

Неравенства, ineq, представляются операторами отношения и имеют два операнда: левую часть, lhs, и правую часть, rhs.

Строка, str: последовательность знаков не имеющая иного значения, чем она сама, которой нельзя присвоить, и которая при вычислениях всегда равна себе самой. Например, неправильной является последовательность команд:

x:="string";

sqrt(x);

Имена и строки можно использовать с функциями convert и printf.

Неправильный отклик системы. Если отклик на ваши действия отсутствует, или он неправильный, то вы ошиблись при вводе функции, команды и т. п. Подробнее – см. ниже раздел «Отладка». Для прерывания расчетов используйте кнопку остановки (красная ладонь).

Типы скобок:

Круглые (expr) – для группировки выражений: (x+9)*3, а также для определения аргументов функций: sin(x).

Квадратные скобки [expr] – для построения списков (lists): [a,b,c], векторов, матриц, массивов.

Фигурные скобки {expr} – для конструирования множеств (sets): {a,b,c}.

Типы апострофов:

Прямой 'expr' применяется, чтобы отложить расчет выражения: 'x+9+1', а также для очистки переменных: x:='x';

Обратный `expr` – для формирования символа или имени,

>`the name:=7`;

>k:=5;

>print(`the value of k is`, k);

10