Математика. Контрольные, курсовые и дипломные работы от лучших авторов!

Тройной интеграл Скалярное и векторное поле Геометрический смысл производной Числовые ряды Введение в ТФКП Вычислить интеграл Задачи и примеры Изменить порядок интегрирования Физические приложения тройных интегралов

Компьютерная математика Mathematica электронный учебник Оглавление

 

Математические системы Mathematica

Системы класса Mathematica 2.x

В 80-е годы возможностями символьной математики увлекся защитивший докторскую диссертацию Стивен Вольфрам (Stephen Wolfram) из США (рис. 1.1). Его интересы были столь серьезны, что он основал фирму Wolfram Research, Inc., приступившую к созданию проекта престижной математической системы Mathe-

matica. Версия Mathematica 1.0 этой системы, появившаяся в 1988 г., уже устарела, и самой известной разработкой фирмы стала версия 2.0 системы Mathematica 2, появившаяся в 1991 г. и благополучно дожившая до наших дней. У нас она впервые стала известна благодаря обзорам.

Рис. 1.1. Страница Интернет-сайта фирмы StatSoft.

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

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

Система Mathematica 2 всегда рассматривалась как мировой лидер среди компьютерных систем символьной математики для ПК, обеспечивающих не только возможности выполнения сложных численных расчетов с выводом их результатов в самом изысканном графическом виде, но и проведение особо трудоемких аналитических вычислений и преобразований. Версии системы под Windows имеют современный пользовательский интерфейс и позволяют готовить документы в форме Notebooks («записных книжек»). Они объединяют исходные данные, описание алгоритмов решения задач, программ и результатов решения в самой разнообразной форме (математические формулы, числа, векторы, матрицы, графики).

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

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

Рождение столь мощной и сложной системы, как Mathematica 2, шло не без трудностей. Первые версии Mathematica 2 для MS-DOS имели примитивный пользовательский интерфейс, заметно уступающий интерфейсу конкурирующей системы Maple V 1.0 для MS-DOS. Однако фирма Wolfram быстро сумела оценить возможности графической оболочки Windows и одной из первых создала версию своей системы для Windows. В книге приведены многие десятки недостатков версии Mathematica 2, практически устраненных в последующих версиях.

Mathematica 2 — одна из самых крупных и изощренных математических программных систем своего времени (начала 90-х годов). На протяжении ряда лет эта система модернизировалась и улучшалась. Ее расширенная версия (Mathematica 2.2.2) для IBM-совместимых ПК класса 386/486/Pentium требует ОЗУ объемом не менее 8 Мбайт. Сейчас это вряд ли ограничивает применение системы — компьютеры класса Pentium II/III и даже Pentium MMX с таким объемом памяти и частотами работы процессоров от 166 до 450 МГц можно приобрести в России по цене порой менее $300. Множество подходящих для этой системы ПК есть в системе образования и в индивидуальном владении пользователей.

Если по части графических возможностей лидерство системы Mathematica 2 не вызывало особых споров, то в части выполнения аналитических преобразований и надежности работы система неоднократно подвергалась заслуженной критике. В частности, приводились данные не только об отказе системы выполнять некоторые типы символьных вычислений, но и даже о получении при этом явно неверных результатов. Однако такие нарекания относятся лишь к версиям системы 2.1 и ниже. При этом в справедливо указывалось, что недоработки системы обусловлены ее новизной, сложностью и обширными возможностями.

Раньше грубые просчеты пользователя могли привести к зависанию системы. Однако уже в версии 2.2.2 это было практически исключено. Кроме того, оно устраняется обычным для Windows способом — одновременным нажатием клавиш Ctrl+Alt+Del При этом работа с системой Mathematica может прерваться, но общего краха системы Windows обычно не происходит. Нажатие клавиши Enter возвращает нас в менеджер программ Windows.

Тем, кто слишком щепетильно относится к возможностям ошибок в символьных вычислениях, стоит напомнить, что от неверных результатов не застрахован даже самый талантливый математик-аналитик. За рубежом (но только не у нас!) такой специалист получает в месяц заработную плату, намного превосходящую стоимость среднего ПК вместе с установленной на нем системой Mathematica. Так что стоит подумать о том, какие средства вам нужны для решения ваших задач и сколько вы готовы за них заплатить!

Несмотря на отмеченные недоделки, система быстро заняла ведущие позиции на рынке математических систем. Особенно привлекательны были обширные графические возможности системы и реализация интерфейса типа Notebook («записная книжка»), позволяющего сочетать в пределах одного документа программы и команды с данными, представленными в формульном, текстовом, табличном и графическом видах. При этом система обеспечивала динамическую связь между ячейками документов в стиле электронных таблиц даже при решении символьных задач, что принципиально и выгодно отличало ее от других систем.

Система Mathematica 3

У разных фирм различны подходы к обозначению новых версий своих программных продуктов. MathSoft, Inc., к примеру, за какие-то пять лет породила добрый десяток новых версий популярной системы Mathcad — 3.0, 4.0, 5.0, Plus 5.0, 6.0, Plus 6.0, 7.0, Plus 7.0, 8.0, 8.0 PRO и даже Mathcad 2000 PRO/Premium. И почти каждый раз отмечала их новой цифрой, хотя революционными отличия этих версий друг от друга назвать трудно.

Фирма Wolfram Research, Inc. (разработчик систем Mathematica) явно относится к числу тех фирм, у которых малейший намек на изменение версии означает существенную ее переработку. В итоге версии Mathematica 3 и 4 на фоне более старых Mathematica 2.0, 2.1 и 2.2 выглядят кардинально новыми системами с новым превосходным пользовательским интерфейсом и обширными математическими возможностями.

В июле 1996 г. на бета-тестирование поступила система Mathematica 3. Вскоре (середина 1997 г.) она стала серийным продуктом, начались ее поставки на рынок. Был кардинально переработан пользовательский интерфейс системы, он вобрал в себя массу новинок — от раздельного вывода на экран деталей и панелей интерфейса до мощной и прекрасно реализованной справочной системы. Устранен недостаток предшествующих версий — небольшое число примеров в справочной системе. Все примеры стали «живыми» — их в любой момент можно переиначить на свой лад и перенести в свои документы.

Продолжая линию развития универсального ядра системы, фирма Wolfram обеспечила применение этой системы на целом ряде операционных систем — Windows 95, Windows NT, Macintosh, Power Macintosh, SunOS, Solaris, HP-UX, SGI, Linux и др. Это делает систему доступной самым различным категориям пользователей и позволяет распределять решение математических задач любой сложности по оптимальным для этого компьютерным платформам.

Для системы Mathematica 3 на массовой платформе Windows установлены следующие требования к аппаратной части:

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

Из других возможностей системы Mathematica 3 можно отметить:

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

 

Система Mathematica 4

Ожидалось, что, как и предшествующие реализации 1 и 2, система Mathematica 3 даст начало многолетнему марафону постепенного усовершенствования этой системы. Но вопреки этому фирма Wolfram совершила довольно неожиданный для нее шаг — не успели пользователи разобраться с многими новациями Mathematica 3, как в июне 1999 г. на рынок была выпущена новейшая реализация системы — Mathematica 4. При этом имеющиеся данные свидетельствуют о коренном пересмотре базовых концепций, заложенных в систему. Видимо, роль в этом сыграло приближение 2000 года.

Новая система получила развитие прежде всего как система для быстрых и объемных численных вычислений при сохранении всего ее могущества в области символьной математики. Значительно повышена скорость основных численных вычислений и операций с произвольной разрядностью. Улучшена плотность упаковки массивов, введен ряд новых встроенных функций. Повышена скорость работы пользовательского интерфейса, он стал более удобным. Чего стоит, к примеру, такая мелочь, как изменение цвета элементов выражений в ходе их ввода — это облегчает устранение ошибок при вводе сложных выражений.

Теперь уже окончательно ясно — разработчики системы продолжают интенсивно работать над ней и превратили Mathematica 4 в мощную универсальную СКМ. И первые данные о новой версии системы, которые читатель найдет в этой книге, ясно говорят о том, что разработчики систем этого класса отнюдь не намерены уступать первенство в создании наиболее сложных и продвинутых систем компьютерной алгебры. Возможности новой системы весьма впечатляют!

Важно отметить, что весьма обширные новые возможности Mathematica 4 относятся почти исключительно к количественным показателям системы и никоим образом не влияют на статический вид интерфейса систем (в сравнении с Mathematica 3) и на вид готовящихся документов-блокнотов (notebooks). Поэтому в дальнейшем мы под системой Mathematica будем иметь в виду одновременно обе версии — ставшую у нас хорошо известной Mathematica 3 и новейшую Mathematica 4. Указание на конкретную версию будет делаться только в том случае, если описываются ее специфические возможности. Многочисленные внутренние отличия системы Mathematica 4 от Mathematica 3 будут рассмотрены по ходу дела.

Работа с системами Mathematica 3 и Mathematica 4 происходит практически одинаково. Небольшое ускорение при ряде манипуляций с интерфейсом Mathematica 4 внешне не сказывается на такой работе. Поэтому, за редкими (и оговоренными) исключениями, все, что описано применительно к системе Mathematica 4, применимо и к Mathematica 3. Однако отличия ранних версий Mathematica 2.x от описанных в книге версий нового поколения достаточно серьезны, поэтому их пользователям описание пользовательского интерфейса Mathematica 3/4 не подходит, хотя набор операторов и функций ранних версий является сокращенным набором этих средств, описанных в данной книге.

  1.3. Арифметические операции с простыми переменными

Рассмотрим базовые арифметические операции над простыми переменными в MatLab. Пусть заданы две переменные a и b. Тогда операции сложения, вычитания, умножения и деления запишутся так:

c = a+b;  % сложение
c = a-b;  % вычитание
c = a*b;  % умножение
c = a/b;  % деление

Дополнительно, в MatLab определена операция возведения в степень, которая записывается так:

c = a^2;  % возведение переменной a в квадрат
c = a^0.5; % извлечение квадратного корня из переменной a

Приоритет арифметических операций * и / выше операций + и - , т.е. сначала выполняется умножение и деление, а затем, сложение и вычитание. Операция возведения в степень имеет наивысший приоритет. Для изменения приоритетов арифметических операций используются круглые скобки, как и в обычной математике, например,

c = 7+2*2;     % значение c = 28
c = (7+2)*2;   % значение с = 18

В практике программирования есть несколько устоявшихся подходов использования арифметических операций. Например, если необходимо увеличить значение переменной arg на 1, то этого можно добиться следующим образом:

arg = arg + 1;

При этом совершенно не важно чему равна переменная arg, в любом случае ее значение будет увеличено на 1. Аналогичным образом можно выполнять увеличение или уменьшение значения переменной на любую величину.

Другим устоявшимся приемом программирования является обмен значений между двумя переменными. Например, заданы переменные arg_a и arg_b и необходимо произвести обмен данными между ними. Это достигается следующим образом:

temp = arg_a;
arg_a = arg_b;
arg_b = temp;

Здесь temp – это временная переменная, необходимая для сохранения значения переменной arg_a, т.к. оно затирается во второй строчке значением arg_b. Поэтому в третьей строке переменной arg_b присваивается сохраненное в temp значение переменной arg_a.

Если в результате выполнения вычислений появляется комплексное число, то MatLab автоматически будет оперировать с такими числами в соответствии с арифметикой комплексных чисел. Например, при извлечении квадратного корня из -1, получим следующий результат:

c = (-1)^0.5;       % c = 0.0000 + 1.0000i

Здесь i – зарезервированное имя мнимой единицы и представленная запись обозначает комплексное число с нулевой действительной частью и единичной мнимой. В MatLab в качестве зарезервированного имени мнимой единицы также используется буква j.

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

c = 6 + 5i;         % комплексное число

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

При работе с комплексными числами существуют две специальные функции:

real(x) – взятие действительной части комплексного числа x;
imag(x) – взятие мнимой части комплексного числа x;
abs(x) – вычисление абсолютного значения комплексного числа x;
conj(x) – вычисление комплексно-сопряженного числа x;
angle(x) – вычисление аргумента комплексного числа x;

Компьютерная математика Maple 7 электронный учебник

Первое знакомство с системой Maple 7

Краткая характеристика систем класса Maple
Версии систем класса Maple.
Об ошибках в символьных вычислениях
Ядро и пакеты Maple 7
Языки системы Maple 7
Ориентация систем Maple
Возможности предшествующей версии Maple 6
Новые возможности системы Maple 7
Установка системы Maple 7 на ПК
Аппаратные требования

Курс лекций Сопротивление материалов