Как стать автором
Обновить

Введение в Wolfram Mathematica

Программирование *Математика *

Введение


На хабре уже не раз упоминалась Mathematica и если вам хочется начать работать с ней, то эта статья для вас. Я расскажу об основных аспектах работы с нею и покажу несколько интересных нововведений из последних версий Wolfram Mathematica.

Wolfram Mathematica — это программное обеспечение, не только для математических вычислений, это гораздо больше: от моделирования и симуляции, визуализации, документации, до создания веб-сайтов. Mathematica обладает возможностью осуществлять вызовы функций и принимать вызовы с C, .NET, Java и других языков, генерировать C код, компилировать автономные библиотеки и исполняемые файлы.
Обо всех достоинствах Mathematica можно почитать на официальном сайте ru

Для начала работы с Mathematica вам необходимо её получить и установить на свой компьютер. Mathematica прекрасно работает на Windows, Mac, Linux.
Скачать и бесплатно попробовать Mathematica так же можно на оф. сайте.
Если же вы надумаете её купить, то цены на неё вполне приемлемые. Например для студента за семестровый вариант она обойдётся в $44.95. Для домашнего использования в $295. Если вы планируете использовать её для коммерческих целей, то наилучший вариант лицензии это Standard Edition (Вы получаете подписку на Premier Service и бесплатные обновления).


Изучение


Самая лучшая книга по Mathematica — это встроенный Help. Имеет огромную кучу туториалов и советов. Огромное множество примеров. Всё что вам может понадобится находится там. Это первое место где нужно искать нужную информацию. Однако, если вам нужно больше, в интернете огромное множество сообществ посвещённых Mathematica. (Например: mathematica.stackexchange.com).

Блокноты и Ячейки


Все вычисления в Mathematica находятся в блокнотах. И имеют расширение .nb. В блокнотах находятся как и код, так и результаты вычислений. Блокноты разбиты на ячейки различного типа:
  • Ячейки ввода – в них задаются команды, которые будут вычислены
  • Ячейки результата – в них выводится результат вычислений
  • Другие ячейки – ячейки с текстом, заголовки и все остальное




Нумерация ячеек идёт в том порядке в котором вы их запустили. Для того что-бы вычислить значение ячейки нажмите SHIFT+ENTER или правый ENTER, либо Evaluation -> Evaluate Cells.

Для того что-бы обратиться к значению последней вычисленной ячейке используйте знак %.



Бесконечная точность


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



Вы можете попросить округлить ответ так:



Или же добавить дробную часть (или просто точку) к числам в выражении:




Ввод формул



В Mathematica реализован удобный ввод формул. Но для начала вам могут пригодится палитры (На картинке справа находится Palettes -> Basic Math Assistant).

У каждой кнопочки на палитре, есть свой горячие клавиши. Например, что бы написать знак интеграла нужно нажать Esc int Esc.

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

  • CTRL+2 – Шаблон квадратного корня
  • CTRL+6 – Верхний индекс
  • CTRL+7 – Надстрочный символ
  • CTRL+- – Нижний индекс
  • CTRL+= – Подстрочный символ
  • CTRL+/ – Дробь
  • CTRL+2, затем CTRL+5 – Корень любой степени
  • ALT+ENTER – Создает новую ячейку
  • SHIFT+CTRL+D – Разбивает текущую ячейку
  • SHIFT+CTRL+M – Склеивает несколько ячеек


Выражения, Списки, Функции



Все что записано внутри ячеек является выражениями. Каждое выражение состоит из головы и списка. Например в выражение Power[2, 2]. В нём головой является Power, а списком 2, 2.
Даже 2+2 является выражением. Чтобы посмотреть как Mathematica интерпретирует ввод, есть функция FullForm:



Функция Hold просит математику не вычислять выражение. Обратной функция является Evaluate.

Списки в Mathematica создаются при помощи фигурных скобок: {...}, что является сокращением от List[...].

Для манипуляции со списками в Mathematica есть огромная куча функций. Всё что вам может когда-нибудь понадобиться уже есть там. Вам остаётся только найти нужную функцию.

Для того чтобы получить элемент списка есть функция Part, c сокращённым вариантом в виде двойных квадратных скобок [[...]] либо с толстыми скобками (Esc [[ Esc).

Поскольку всё является выражениями (и списки тоже), мы может получить голову выражения таким вот способом:



Таким образом индекс первого элемента в списке это 1.

Так же есть возможность заменить голову любого выражения. Это делает функция Apply[head, expression]. Либо её сокращённый вариант @@.



В Mathematica есть несколько способов применить функции(головы) к выражениям. Это обычные квадратные скобки: f[x], префикс: f@x, постфикс: x // f



А так же инфикс: из x ~ f ~ y получим f[x, y].

Однострочное программирование


В Mathematica есть множество функций для обычного программирования, такие как For, If, Switch. Однако, их лучше не использовать без крайней необходимости. Так как практически всё тоже самое можно сделать в одну строчку при помощи специальных функций и их комбинированием (поначалу бывает сложно перестроиться на такой стиль программирования).

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



Динамические интерактивные вычисления


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

Для динамических вычислений используются функции Dynamic, Manipulate и др.



Заключение


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

PS Обо всех найденных ошибках сообщайте мне в личку.

UPDATE
Картинки исчезли. Восстановил пост в своём блоге elfet.ru/introduction-to-wolfram-mathematica
Теги:
Хабы:
Всего голосов 68: ↑54 и ↓14 +40
Просмотры 155K
Комментарии 18
Комментарии Комментарии 18

Публикации

Истории