реферат, рефераты скачать
 

Система Mathematica 4


параметров ряда распределений (особенно нормального), функции сглаживания и

подгонки данных и т. д.

Utilities — дополнительные утилиты для работы с бинарными файлами и памятью

компьютера, поддержки языков, работы с системами класса AutoCAD и т.д.

Пакеты расширения содержат множество (полторы сотни) библиотечных файлов с

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

Число функций в одном пакете расширений лежит в пределах от нескольких

функций до нескольких десятков, а общее число дополнительных функций и их

вариантов достигает тысячи. С их помощью можно реализовывать новые

алгоритмы решения математических задач и постоянно расширять возможности

системы. Все библиотечные файлы подробно прокомментированы, что облегчает

их использование пользователями, владеющими английским языком.

В версии Mathematica 4 число файлов в пакетах расширения несколько

сокращено по сравнению с версией Mathematica 3. Часть таких файлов вообще

являются «пустышками» — они оставлены ради сохранения полной совместимости

с предшествующими версиями системы. Перенос части имеющихся в пакетах

расширений функций и команд в тщательно оптимизированное ядро системы

позволил существенно повысить скорость выполнения соответствующих операций.

6. Меню File

Для работы с файлами служит меню File.

[pic]

Рис. 3 Меню File

В этом меню содержатся следующие команды:

Новый (New) (Ctrl+N) — вывод окна нового документа;

Открыть (Open) (Ctrl+0) — загрузка существующего документа;

Закрыть (Close) (Ctrl+F4) — закрытие текущего окна;

Сохранить (Save) (Ctrl+S) — запись документа с текущим именем;

Сохранить как… (Save As) (Shift+Ctrl+S) — запись документа с изменением

имени;

Сохранить как особо (Save As Special) — запись в специальных форматах;

Вернуть (Open Special) — открытие файлов в специальных форматах;

Импортировать (Import) — вставка содержимого файла в ячейку текущего

документа;

Послать к (Send To) — зарезервированная команда;

Послать выделенные (Send Selection) — зарезервированная команда;

Палитры (Palettes) — вывод палитр математических спецзнаков, операторов и

функций;

Notebook — вывод списка документов, которые загружались ранее;

Generate Palette from Selection — преобразует выделенные ячейки документа в

палитру;

Generate Notebook from Palette — преобразует палитру в документ;

Printing Settings — установка параметров печати;

Print (Ctrl+P) — печать текущего документа;

Print Selection — печать выделенных ячеек;

Exit (Alt+F4) — завершение работы с системой.

Следует отметить, что хотя библиотечные файлы расширений можно, как и

файлы с расширением .mа, загружать в окно редактирования, как правило, это

делается только при их подготовке и отладке. Указанные файлы обычно

подгружаются в текущий документ без отображения их текстов с помощью

специальных команд. Эти команды будут рассмотрены в дальнейшем.

Открытие окна нового документа — команда New

Команда New используется, когда нужно начать работу с новым

документом. Эта команда полностью очищает экран, выводя запрос о том, нужно

ли записать текущий документ, если он есть и модифицировался со времени

последнего сохранения. Окно будущего документа получает имя Untitled-N (в

версиях Mathematica 2.x имя было Newnb-N), где N — текущий номер документа.

После исполнения этой команды можно начинать ввод документа с помощью

клавиатуры и выполнять его редактирование. Важно отметить, что даже эта.

команда не отменяет определений, сделанных в предшествующих исполненных

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

перезагрузка системы отменяет эти определения.

Загрузка ранее созданных документов — команда Open

Загрузка файлов ранее созданных документов — одна из самых

распространенных операций. Она реализуется командой Open, которая служит

для загрузки ранее созданного документа с его поиском в файловой системе

компьютера. Эта команда выводит диалоговое окно, типичное для Windows-

приложений и предназначенное для удобного поиска файлов.

Кроме команды Open, которая загружает документ, открывая его в новом

окне, в меню File. имеется еще команда Import, вставляющая содержимое

указанного файла в текущий документ. Обе команды позволяют загружать файлы

как основного формата notebook с расширением .nb, так и файлы ряда других

форматов.

Запись документа с текущим именем — команда Save

Если документ создан с помощью команды New или открыт с помощью

команды Open, то он обычно подвергается модификации и редактированию. После

отладки документа его измененный вариант бывает нужно записать на магнитный

диск — гибкий или жесткий. Для этого служат команды Save и Save As. Команда

Save выполняет запись текущего документа без изменения его имени. Поэтому

она выполняется быстро и без каких-то дополнительных действий. Запись идет

в формате notebook.

Печать документов — команда Print

После настройки параметров можно осуществить собственно печать с

помощью команды Print для всего документа или Print Selection для печати

только выделенных ячеек. Команда Print открывает окно печати.

В этом окне имеется поле Принтер с переключателем выбора принтера и кнопкой

вывода окна его свойств. Интересна опция Печать в файл, с помощью которой

данные печати направляются вместо принтера на диск. Поле Печатать позволяет

установить номера страниц, которые будут распечатаны, или задать печать

только выделенных ячеек. Поле Копии служит для установки числа копий и

задания (если это нужно) разборки копий.

Нажатие кнопки Свойства в окне выводит окно настройки принтера. Вид

этого окна зависит от применяемого для печати принтера и установленного для

него драйвера. В связи с этим работа с данным окном подробно не

рассматривается.

Команда Print Selection служит для печати набора выделенных ячеек. Обычно

она также выводит окно печати. В этом окне, как отмечалось, можно выбрать

нужный принтер из нескольких, если их драйверы были инсталлированы.

Завершение работы с системой — команда Exit

Команда Exit используется для окончания работы с системой Mathematica.

Если все документы, с которыми пользователь работал (их может быть много),

были записаны на диск, то при исполнении этой команды можно наблюдать

последовательное закрытие окон с текстами документов. Если какой-то из

документов не был записан после модификации, то команда Exit выведет запрос

о необходимости записи.

В подменю Notebooks меню File содержится перечень файлов, с которыми в

последнее время работал пользователь. Выбор любого из этих файлов ведет к

его загрузке в новое окно редактирования. Это делает работу с системой

более удобной, так как избавляет пользователя от поиска наиболее нужных

файлов по дискам и директории

7. Основные классы данных

Mathematica оперирует с тремя основными классами данных:

численными данными, представляющими числа различного вида;

символьными данными, представляющими символы, тексты и математические

выражения (формулы);

списками — данными в виде множества однотипных или разнотипных данных.

Каждый из этих классов данных в свою очередь имеет ряд специальных, более

частных типов данных. На них мы остановимся более подробно.

Численные данные

Двоичные числа, биты и байты

Минимальной единицей информации в компьютерной технике является

двоичная единица — бит. Она имеет представление в виде 0 или 1, удобное для

реализации простейшими электронными схемами с двумя состояниями

электрического равновесия (например, триггерами или иными ячейками памяти).

Многоразрядные двоичные числа представляют собой набор цифр 0 и 1,

например, 100110 или 111001. Каждый старший разряд относительно предыдущего

имеет весовой коэффициент, равный 2.

Именно с битами работает микропроцессор на нижнем уровне операций.

Однако бит — слишком мелкая единица, не очень удобная в обращении. К тому

же мы привыкли к куда более удобным и наглядным для нас элементам

информации, таким как буквы, цифры, знаки арифметических операций,

спецзнаки и символы псевдографики. В принципе, набор этих знаков,

минимально необходимый для представления обычной текстовой и цифровой

информации, содержит до 28 = 256 элементов. Каждый из них в компьютере

представляется кодом от 0 до 255. Для задания таких кодов достаточно 8 бит

(2^8=256), которые и образуют наиболее распространенную единицу

представления информации — байт. 1024 байта образуют килобайт (Кбайт), 1024

Кбайт дают 1 Мбайт (мегабайт) и т. д.

Широко применяется общеизвестный стандарт кодирования текстовой информации

ASCII (American Standard Code for Information Interchange).

Десятичные числа

К наиболее известным типам данных в математике относятся привычные нам

десятичные числа (DECIMAL). Каждый разряд таких чисел имеет представление,

заданное одной из арабских цифр — 0, 1, 2,..., 9. Весовой коэффициент

старшего разряда относительно предшествующего равен 10. Количество цифр,

представляющих число, может быть, в принципе, любым. Десятичные числа

относятся к следующим основным типам.

|Обозначение |Тип чисел |Примеры задания |

|Integer |Целочисленные |123 |

| | |-345 |

|Rational |Рациональные |123/567 |

| | |-23/67 |

|Real |Вещественные |123. -123.456 10^6 |

|Complex |Комплексные |-3.5 + 0. 56 I |

8. Функции компьютерной алгебры

Системы компьютерной алгебры имеют несколько характерных для них

функций, выполняющих достаточно сложные преобразования выражений. Эти

функции имеют вполне установившиеся названия (Simplify, Expand, Collect,

Factor и т. д.) и встречаются практически во всех системах символьной

математики. Настало время детально познакомиться с ними, что и делается в

данном разделе.

Упрощение выражений — функция Simplify

Упрощение математических выражений — одна из самых важных задач

символьной математики. Частенько невероятно сложное математическое

выражение, пугающее новичков своим грозным видом, является просто нулем или

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

(хотя, порою, и довольно сложных) преобразований. Качество выполнения

операции упрощения во многом определяется мощью ядра математической

системы, поскольку зависит от числа заложенных в него функций и правил

преобразования выражений.

С точки зрения простоты выражений они делятся на недостаточно простые

и достаточно простые выражения. Недостаточно простые выражения таят в себе

всевозможные «излишества»: сокращаемые общие члены, лишние переменные и

функции, полиномы со степенями, допускающими понижение, и т. д. Это

затрудняет качественный анализ выражений и может даже приводить к

неоднозначным и даже неверным результатам.

Mathematica всегда старается упростить то или иное выражение, если для

этого не требуется каких-либо особых средств. Например, сложные выражения,

содержащие элементарные или специальные функции, превращаются в более

простые выражения — в том лишь смысле, что они состоят из более простых

функций.

Однако так бывает далеко не всегда, и для проведения необходимых

преобразований используются различные функции, описанные ниже.

Для упрощения выражений используется функция Simplify [ехрг]. Она исполняет

последовательность алгебраических преобразований над выражением ехрг и

возвращает простейшую из найденных форм (обычно это бывает нормальная форма

выражения).

Функция Simplify работает с самыми различными математическими

выражениями: многочленами, рациональными выражениями (состоящими из

полиномов и их отношений), расширенными рациональными выражениями (имеющими

дробные степени переменных), элементарными и специальными функциями,

алгебраическими и тригонометрическими выражениями и т. д. Обычно она

приводит выражения к нормальному виду, что автоматически означает и

приведение к виду достаточно простых выражений.

Операция Simplify часто выполняется по умолчанию. Например, это обычно

происходит при вычислении выражений, примеры чего приводились выше.

Несомненно, это одна из наиболее важных и часто применяемых операций

компьютерной алгебры.

Вообще говоря, понятие упрощения математических выражений не является

однозначным. К примеру, некоторые пакеты символьной математики упрощают

sin(x)/cos(x) к единой математической функции tan(x), тогда как другие

упрощают tan(x) к sin(.r)/cos(.r), считая, что функции sin(x) и cos(.r)

более простые, чем функция tan(.r). Эта неоднозначность часто путает

неопытных пользователей, пытающихся проверить символьные системы примерами

из справочников, — вполне возможно, что авторы их придерживались несколько

иного подхода к упрощению выражений, чем разработчики той или иной

математической системы.

Функции преобразования тригонометрических выражений

Хотя представленные выше функции иногда применимы для

тригонометрических выражений, для последних есть ряд специальных функций,

дающих более надежные результаты в ходе преобразований тригонометрических

функций. В названии этой группы функций имеется слово Trig. Начнем с

функции Trig-Expand [expr ], которая обеспечивает расширение выражения

ехрг, содержащего тригонометрические и гиперболические функции.

Следующие две функции обеспечивают взаимные преобразования экспоненциальных

и тригонометрических выражений:

TrigToExp [expr] — преобразует тригонометрические выражения к

экспоненциальному виду;

ExpToTrig [expr] — преобразует экспоненциальные выражения в

тригонометрические.

Приведем еще две функции:

TrigFactor [expr] — раскладывает на простые множители тригонометрическое

выражение ехрr;

TrigFactorList [expr] — раскладывает тригонометрическое выражение ехрг на

списки с термами выражения.

Применение рассмотренных функций расширяет круг задач, решаемых с

применением символьных преобразований.

Основные операции над полиномами

Полиномом называют выражение, состоящее из нескольких частей одного

вида. В западной математической литературе к ним часто относят степенной

многочлен вида

Р(х) = а0 + а1х + а2 х2 + а3 х3 + ... + аnхn.

Хотя термин «полином» не очень прижился в отечественной математической

литературе, мы оставляем его ввиду краткости и ради лучшего понимания

синтаксиса функций системы, поскольку слова poly и Polynomial входят в

параметры и имена многих функций. При этом полиномы мы будем кратко

обозначать как poly или pi (здесь i — индекс или порядковый номер

полинома).

Над полиномами можно выполнять обычные арифметические операции:

сложение, вычитание, умножение и деление. Это иллюстрируют следующие

примеры (здесь р1 и р2 — полиномы от одной переменной х):

р1 := х^3 + 2*х^2 + 3*х + 4

р2 := х^2 - 1

р1 + р2

3+3х+3х2+х3

р1 - p2

5+3х+х2+х3

Если ситуация со сложением и вычитанием полиномов достаточно очевидна,

то с умножением и делением результат часто повторяет задание. Для получения

результата умножения полиномов в обычной форме следует использовать функцию

расширения символьных выражений Expand.

Если один полином делится на другой (это бывает далеко не всегда), то

для получения результата надо использовать функцию Simplify. В общем случае

при делении полиномов может оставаться остаток. Функция, обеспечивающая

деление полиномов и вычисляющая остаток, описана ниже.

Функции для расширенных операций с выражениями

Выше была описана сравнительно немногочисленная группа функций для

работы с выражениями — их упрощения, расширения, выделения множителей и т.

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

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

гораздо более полный набор функций для работы с выражениями. Они приведены

в приложении.

К сожалению, объем книги не позволяет привести примеры использования

всех этих функций, да и вряд ли они будут интересны всем читателям. Поэтому

приведем лишь отдельные примеры работы с некоторыми из этих функций:

Apart [expr] — переписывает рациональное выражение expr в виде суммы членов

с минимальными знаменателями;

Apart [expr, var] — аналогична Apart [expr], но все переменные, кроме var,

интерпретируются как константы.

Следующие функции позволяют судить о размерности выражений:

Depth [expr ] — возвращает значение, на единицу превышающее максимальное

число индексов, требуемых для указания любой части выражения expr;

Dimensions [expr] — возвращает список размерностей выражения expr;

Dimensions [expr, n] — возвращает список размерностей expr до уровня n.

9. Операции математического анализа

Вычисление сумм

В числе операций математического анализа прежде всего надо отметить

суммы

Сумма от i=min до imax по fi

В этих операциях индекс i принимает целочисленные значения от

минимального (начального) imin до максимального (конечного) imax с шагом,

равным +1.

Суммы и произведения легко вычисляются численными математическими

системами, такие вычисления просто описываются на всех языках

программирования. Однако важным достоинством систем символьной математики,

включая Ма-thematica, является вычисление сумм и произведений в

аналитическом виде (если это возможно) и при большом числе членов — вплоть

до стремящегося к бесконечности.

Для вычисления сумм в системе Mathematica предусмотрена функция Sum,

используемая в ряде форм:

Sum [f, {i, imax}] — вычисляет сумму значений f при изменении индекса i от

1 до imax с шагом +1;

Sum[f,{i, imin, imax}]—вычисляет сумму значений f при изменении индекса i

от минимального значения i=imin до максимального i=imax с шагом +1;

Sum[f, {i, imin, imax, di}]— вычисляет сумму значений f при изменении

управляющей переменной вещественного типа от минимального значения i=imin

до максимального i=imax с шагом di;

Sum[f, {i, imin, imax}, {j, jmin, jmax},...] — вычисляет многократную сумму

значений f при изменении индексов i от imin до imax с шагом +1, j от jmin

до jmax с шагом +1 и т. д. (число индексов не ограничено).

Вычисление производных

К числу наиболее часто используемых математических операций

принадлежит вычисление производных функций как в аналитической, так и в

символьной форме. Для этого используются следующие функции:

D [ f, х ] — возвращает частную производную функции f по переменной х;

D [f, {х, n}]— возвращает частную производную n-го порядка по х;

D[f, xl, х2,...] — возвращает смешанную производную;

Dt[f, х] — возвращает обобщенную производную функции f по переменной х;

Dt [ f ] — возвращает полный дифференциал f.

Название функции из одной буквы — это явно исключение из правил. Оно

выбрано осознанно, в силу массовости этой операции.

Для функции D существует опция NonConstants, которая позволяет задать

список объектов, находящихся в неявной зависимости от переменных

дифференцирования. По умолчанию этот список пустой. Для функции Dt имеется

опция Constants, которая, наоборот, указывает символы, которые являются

константами (по умолчанию их список также пуст). На практике применять

данные опции приходится редко.

Существует еще одна функция, Derivative [nl, n2,...] [f ], — основная

(общая) форма представления функции, полученной в результате nl-кратного

дифференцирования функции f по первому аргументу, п2-кратного — по второму

аргументу и т. д.

К примеру, Derivative [2] [х*у] возвращает (ху)", a Derivative [2, 3]

[х*у] — соответственно, (ху)(2.3)

Страницы: 1, 2, 3


ИНТЕРЕСНОЕ



© 2009 Все права защищены.