Назад
А.П.Мостовской
Информационные технологии в математике
2
Пособие по учебной дисциплине Информационные техно-
логии в математике математических специальностей педаго-
гических университетов и институтов.
Автор : А.П.Мостовской
Пособие состоит из двух несвязных частей. Первая часть
предназначена для знакомства с работой известной компью-
терной программы Математика. Данная программа позволя-
ет решать в числовых и символьных форматах широкий круг
задач линейной алгебры, геометрии, математического анали-
за, дискретной математики, статистики и многих других раз-
делов математики. Приведены основные команды, чаще всего
встречающиеся при решении задач вузовского курса матема-
тики. Рассмотрены примеры программирования математиче-
ских и экономических задач.
Вторая часть курса посвящена введению в издательские
системы L
A
T
E
X и A
M
S-L
A
T
E
X, с помощью которых можно со-
здавать на персональном компьютере математические руко-
писи типографского качества. Основное внимание в этой ча-
сти уделено программе BaKoMa, в которой удобно созда-
вать математические тексты, просматривать и конвертиро-
вать окончательные варианты текста в распространенные
форматы.
Copyright.
c
All rights reserved.
c
Все права защищены,2006.
3
Предисловие
Курс Информационные технологии в математикенедавно введен
в математическую подготовку студентов второго курса математиче-
ских специальностей и первого курса экономических специальностей
педагогических университетов и институтов. Курс состоит из двух до-
статочно несвязных частей.
В первой части курса рассматриваются в обзорном порядке наибо-
лее распространенные математические пакеты, такие как Mathematica,
Maple, MathLab, Gauss и другие. Отмечается, что при первом знаком-
стве довольно трудно разобратся в программах и отличие одной про-
граммы от другой часто носит скорее эмоциональный , а не принципи-
альный характер. Программы решают один и тот же круг математи-
ческих задач, имеют схожие интерфейсы.
Тем не менее лидирующее положение среди математических паке-
тов занимает пакет Mathematica. Эта программа достаточно широ-
ко распространена во всем мире, она получила применение в науч-
ных и инженерных исследований, в системе образования. Компания
Wolfram Research, производящая систему Mathematica, активно рабо-
тает на д усовершенствованием программы. Ежемесячно выпускается
журнал с обсуждением актуальных проблем, работает сайт в Интене-
те www.folfram.com, ведется активная работа с пользователями про-
граммы. На всемирных математических конгрессах (раз в четыре го-
да) фирма Wolfram Research имеет свой стенд, а математики компании
читают лекции и проводят семинарские занятия. В некоторых стра-
нах (например, в США) вузовская система образования тесно связана
с системой Mathematica. Каждые два года проходит международный
математический симпозиум по приложениям компьютерной алгебры в
различных областях образования и исследований.
Программа Mathematica естественным образом интегрируется в си-
стему математического образования будущих учителей математики и
студентов экономических специальностей. Основа работы с програм-
мой закладывается для студентов математиков в курсе Информаци-
онные технологии в математике или на практикуме на ЭВМ для сту-
4
дентов экономических специальностей. Во втором семестре часть заня-
тий по дифференциальной геометрии можно проводить с использовани-
ем программы Mathematica. К таким занятиям можно отнести заняти
посвященные решению вычислительных задач на нахождение всевоз-
можных кривизн кривой или поверхности, уравнений элементов кано-
нической системы координат кривой или поверхности, уравнений раз-
личных видов кривых на поверхности (асимптотических линий, линий
кривизны, геодезических линий). При этом можно построить не толь-
ко изучаемую кривую и поверхность по ее уравнению, но и выяснить
расположение найденных геометрических образов относительно кривой
или поверхности.
На третьем курсе лабораторные работы по вычислительной мате-
матике очень удобно проводить с применением системы Mathematica.
Простота вывода графической информации, программирование мате-
матических задач делает систему Mathematica незаменимой в учебном
процессе.
Стоит отметить, что все больше студентов при написании диплом-
ных работ, применяют систему Mathematica в своих исследованиях.
Во-второй части курса Информационные технологии в математи-
кеприводятся начальные сведения о возможностях технологии T
E
X,
позволяющей создавать на персональном компьютере документы ти-
пографского качества. Несмотря на то, что данная технология была
создана американским программистом Д.Кнутом еще в 1978 году, что
эта технология относительно сложна в использовании, области приме-
нения T
E
X’а только расширяются - этот старомодныйпакет не только
применяется во всех ведущих научно-технических редакциях мира, но
и получает все более широкое применение в нашей стране.
Основной программной средой при изучении этого раздела курса вы-
брана известная программа
1
BaKoM’a, органично соединяющая в себе
все возможности T
E
X’а. В этой программе удобно создавть документ,
переводить законченный документ в более распространенные форма-
ты, такие, как pdf, ps, html и svg.
1
http://www.bakoma-tex.com/
Глава 1
Система Математики
1.1 Введение. Главное меню и рабочее поле
Пособие предназначено для знакомства с работой программ Мате-
матика 3.0, Математика 4 и более совершенного варианта Математи-
ка 5, именуемых в дальнейшем Математика. Программы предназначе-
ны для решения большого круга математических задач в числовых и
символьных форматах.
Первые варианты программы были созданы в 80-х годах под ру-
ководством Стивена Вольфрама (фирма Wolfram Research Ltd, США).
Было создано универсальное ядро системы, способное работать на раз-
личных компьютерных платф ормах, и представляющее собой язык про-
граммирования высокого уровня, ориентированного на математические
приложения. С самого начала большое внимание уделялось графике,
в том числе динамической, и даже возможностям мультимедиа - вос-
произведению динамических изображений и синтезу звуков. Програм-
ма Математика обычно размещается в директории C : \P rogramF iles
\W olframResearch. В этой директории содержатся, помимо всего про-
чего, пакеты (packages) программ, расширяющие область применения
команд, содержащихся в ядре. К Математике прилагаются пакеты про-
грамм, решающих задачи линейной алгебры и геометрии, дискретной
математики, статистики, пакет программ, реализующих специальные
символьные вычисления и численные методы, а также пакеты, содер-
жащие графические функции, преобразования Фурье и Лапласа и дру-
гое. Пользователи программы могут разработать и разместить в таких
директориях собственные пакеты программ.
Для запуска Математики надо щелкнуть два раза левой клавишей
мышки по значку Математика на панели Windows или по соответ-
6 ГЛАВА 1. СИСТЕМА МАТЕМАТИКИ
ствующей строке в меню Пуск->Программы. Программа выводит на
экран рабочее поле и главное меню. Основные приемы управления про-
граммой такие же, как и в любой другой программе, работающей под
Windows. Главное меню программы Математика содержит следующие
позиции:
File - работа с файлами: задание нового файла, выбор файла из
каталога, закрытие файла, запись текущего файла, запись файла с из-
менением имени, печать документа и выход в Windows.
Cell - работа с ячейками (переформатирование, установка статуса
ячейки, открытие и закрытие и др.). Под ячейкой понимается связ-
ная часть рабочего поля, содержащая задачу, ответ, текст или другое.
Каждая ячейка ограничена квадратной скобкой, расположенной спра-
ва от рабочего поля. Чтобы выделить ячейку, надо щелкнуть мышкой
по скобке, ограничивающую ячейку или провести курсором по скобкам
ячеек, подлежащих выделению, с нажатой левой клавишей мышки.
Выделенные ячейки можно объединить в одну ячейку, выполнив ко-
манду Cell/Merge Cell. Ячейку можно разбить на две ячейки командой
Cell/Divide Cell, предварительно установив курсор на место деления
ячейки (обычно - в конец строки).
Edit - основные операции редактирования (отмена операции, копи-
рование выделенных участков документа в буфер обмена с их удалени-
ем и без удаления, перенос выделенных участков и их стирание). При
копировании содержимого ячейки, например, в Word, необходимо вы-
делить ячейку, выполнить команду Cell/Display As/Input Form и после
этого провести копирование обычным способом - Edit/Copy, Edit/Paste.
В меню Edit/Save As/ содержатся команды, позволяющие сохра-
нить выделенный рисунок в форматах EPS, Bitmap (BMP), Enhanced
Metafile (EMF), Windows Metafile (WMF), текст в формате Rich Text
(RTF), звуковой объект (результат работы команды Play) в формате
Wave (WAV). Аналогично работает команды меню Edit/Copy As/.
Format - устанавливает внешний вид рабочего поля, стиль ячеек,
их содержание, размер, вид и размер шрифтов и другое.
Input - устанавливает опции 3D-графики (3D ViewPointSelector)
для просмотра графических изображений , содержит команды для со-
здания матриц, таблиц, сборных палеток (CreateTable/Matrix/ Palette)
и другое.
Kernel - команды работы с ядром программы. Работающую ко-
манду легко обнаружить - скобка ячейки, содержащей такую команду,
1.1 Введение. Главное меню и рабочее поле 7
утолщена и имеет красный цвет. Если команда выполняется слиш-
ком долго, то ее можно попытаться прервать командой Kernel/Abort
Avaluation или нажать на клавиши Alt+”.” (точнее: нажать и держать
клавишу Alt и нажимать на клавишу .”). Отметим так же коман-
ду Quit: Kernel/Local/Quit позволяющую выгрузить ядро программы
в случае полного зависания, что иногда случается при работе поль-
зовательской программы или неправильного выполнения встроенной
команды. При этом содержимое рабочего окна не теряется, однако по-
вторный ввод нужных команд и данных для продолжения работы не-
обходим.
Find - поиск в рабочем поле.
Window - операции с окнами и их расположением.
Каждая позиция меню содержит ряд относящихся к ней команд.
Часть команд может быть в данный момент невыполнима, например,
нельзя вычислить значение выражения, если его самого нет на рабочем
поле или ячейка с ним не выделена. Большинство команд меню типич-
но для других интегрированных систем, предназначенных для работы
в среде Windows.
Начать работу в Математике можно с простого примера, для выпол-
нение которого произойдет загрузка ядра системы. Введем, например,
команду 45+78. Для этого надо щелкнуть левой клавишей мышки на
рабочем поле, ввести с клавиатуры символы 45+78 и нажать последо-
вательно клавиши Shift (не отпускать) и центральную клавишу Enter
или только одну клавишу Enter, расположенную справа на клавиатуре.
В результате получится две строки (и две ячейки ) - первая содержит
введенные символы и начинается с номера ввода команды In[1], вторая
- содержит ответ и начинается с номера вывода Out[1] :
In[1] := 45 + 78
Out[1] = 123
Далее команду и результат ее выполнения будем в основном запи-
сывать так: 45 + 78 123.
Ячейка может занимать одну или несколько строк и всегда выде-
лена своей квадратной скобкой. Для редактирования текста в ячейке
необходимо поместить в поле ячейки курсор - для этого надо щелкнуть
мышкой по полю ячейки или поместить над ячейкой горизонтальную
линию (подвижная линия, перемещаемая по рабочему полю клавишами
курсора) и нажать клавишу со стрелкой .
Большинство математических символов можно вводить в рабочее
8 ГЛАВА 1. СИСТЕМА МАТЕМАТИКИ
поле в их привычном виде, а команды на выполнение запускаются на-
жатием соответствующих значков. Для выбора того или иного клас-
са команд достаточно щелкнуть мышью на нужной позиции в меню
File/Paletter (палетка). Так, позиция BasicInput выводит справа от ра-
бочего поля палетку с распространенными математическими символа-
ми и греческим алфавитом. Например, для ввода определенного инте-
грала нужно щелкнуть мышкой по интегралу на палетке и он появится
в рабочем поле, затем щелкнуть мышкой по нижнему пределу на ра-
бочем поле и ввести нижний предел. Перемещая курсор клавишей Tab,
можно ввести верхний предел, функцию, дифференциал переменной.
Help - управление базой данных помощи. Каждая команда Матема-
тики описана в программе помощи (позиция меню Help/Help Browser).
Например, найдем в помощи команду Factor. Для этого щелкнем мы-
шью по строчке меню Help/Help Browser, в открывшейся форме в поле
ввода текста на форме введем слово Factor. Соответствующий раздел
Factor будет найден автоматически. При этом будет выделены глава
Basic Algebra и часть Algebraic Computation, содержащие данный раз-
дел. Щелкнем мышью по строчке Factor - получим описание команды.
Описание команду заканчивается строчкой: . Further Examples. Если
щелкнуть один раз по треугольнику, то откроются примеры, поясня-
ющие работу команды Factor. Каждый пример можно изменить и за-
пустить на выполнение.
Активная клавиша Built-in Functions на форме помощи показывает,
что команда Factor принадлежит ядру программы Математика. Не-
которые команды Математики принадлежат программам расширения
ядра. Такие программы образуют Standart Packages. Для просмотра
всех packages (пакетов) нажмите на клавишу Add-ons формы помощи.
Нажатие на клавишу The Mathematica Book выводит в окошки по-
мощи оглавление книги полного описания программы Математики.
Клавиша Master Index поможет найти команду по алфавиту. Описа-
ние меню программы - Other Information, начало работы с Матема-
тикой и демонстрация основных возможностей Математики - Getting
Started/Demos.
Отметим, что и в рабочем поле программы можно узнать формат
команды. Для этого достаточно ввести в рабочем поле команду ??name,
где name название команды, формат которой неизвестен. Например,
команда ??F actor выводит на экран следующее сообщение
Factor[poly] factors a polynomial over the integers.
1.2 Числа 9
Factor[poly, Modulus> p]
1
factors a polynomial
modulo a prime p.
Attributes[Factor] = {Protected}
Options[Factor] =
{GaussianIntegers> False, Modulus> 0, Trig > False}
Первая строка описывает действие команды F actor с одним аргу-
ментом poly. Команда разлагает многочлен poly на множители над це-
лыми числами. Следующая форма команды (вторая строка) разлагает
многочлен poly на множители по модулю простого числа p. В этой
команде присутствует второй аргумент, содержащий стрелку >
1
.
Такие аргументы (один или несколько, разделенные запятыми) назы-
ваются опциями (options) команды. Они уточняют действие коман-
ды. Возможные опции данной команды F actor описываются в послед-
ней строке. Значение опций в этой строке есть значения, установлен-
ные по умолчанию, то есть изначально. Опция T rig > T rue (”ис-
тина) указывает команде, что полином poly содержит тригонометри-
ческие функции, которые можно рассматривать, как экспоненциаль-
ные полиномы. Опция GaussianIntegers> F alse (”ложь) означает,
что разложение на множители производится над кольцом целых чисел.
Attributes[Factor] = {Protected} означает, что данную команду не-
льзя переопределить.
1.2 Числа
1.2.1 Основные алгебраические операции.
Обозначение основных математических операций в Математике тра-
диционно: +, , (умножение можно заменять пробелом), / (деление
), (возведение в степень). Знак = означает присваивание, например
a = 3. Результатом логических операции есть T rue или F alse : ==
(равенство), ! = (неравенство ), > (больше ), < (меньше ), >= (больше
или равно ), <= (меньше или равно), && логическое и, || логическое
или. Каждая операция имеет другое обозначение. Например, матема-
тическая операция +” - Plus[x,y]; x,y - числа, логическое и - And[x,y],
логическое или - Or[x,y]; x,y - логические высказывания.
Математика имеет дело с числами, содержащими любое количество
значащих цифр. Например,
1
Стрелка состоит из минуса и знака больше без пробела.
10 ГЛАВА 1. СИСТЕМА МАТЕМАТИКИ
In[1] := 25 5
Напомним, что для выполнения этой первой команды In[1] доста-
точно написать на рабочем поле только 25 5 и нажать на клавиши
Shift+Enter или только на одну клавишу - правый Enter, если она у
вас есть. Вводить номер команды In[1] не надо - это служебные сим-
волы Математики вводятся программой автоматически после запуска
команды. Результат работы первой команды примет вид:
Out[1] = 125
Введем вторую команду, например, такую:
In[2] := 3
1000
Ответ Out[2] не приводим - содержит слишком много цифр. С отве-
тами можно работать дальше. Например, команда %
(1/1000) извле-
кает корень 1000 степени из последнего результата, то есть, в нашем
случае Out[2]. Символ %% означает результат, предыдущий к толь-
ко что полученному, %n - результат с номером вывода n. С ответами
можно работать и так:
In[6] := Out[1] + Out[2] Out[1]
Или
In[7] := %1 + %2 %1
Если в конце команды поставить точку с запятой ;”, то полученный
результат не выводится на экран. Например, 2+6; или a+b;.
Команда N[expr] (или exp//N) - дает численное значение ариф-
метического выражения expr или является предикатом, если выраже-
ние expr есть логическое высказывание.
Все внутренние команды Математики начинаются с прописной
буквы, аргументы всегда заключены в квадратные скобки.
Результатом команды N[3
1000] является число 3
1000, записан-
ное в форме с плавающей точкой: 1.32207 · 10
477
. Результат команды
N[1998
1997
> 1997
1998
] будет False, а N[3 < 5] - True.
Команда N допускает такую запись: N[exp, m], где m - число вы-
водимых цифр выражения exp. Например, число N[3
1000, 40] будет
записано в форме с плавающей точкой и содержать 40 цифр.
Команда Sqrt[9] вычисляет квадратный корень. Результат - 3.
Если введем команду Sqrt[10], то в качестве ответа получим точное
значение, именно - Sqrt[10]. Команда N[Sqrt[10], 20] дает округленное
до 20 знаков значение.
Использование в выражении числа с десятичной точкой приводит
к ответу, содержащему числа с десятичной точкой, например, 1.0 +