Введение в Wolfram Mathematica
На хабре уже не раз упоминалась Mathematica и если вам хочется начать работать с ней, то эта статья для вас. Я расскажу об основных аспектах работы с нею и покажу несколько интересных нововведений из последних версий Wolfram Mathematica.
Wolfram Mathematica — это программное обеспечение, не только для математических вычислений, это гораздо больше: от моделирования и симуляции, визуализации, документации, до создания веб-сайтов. Mathematica обладает возможностью осуществлять вызовы функций и принимать вызовы с C, .NET, Java и других языков, генерировать C код, компилировать автономные библиотеки и исполняемые файлы.
Обо всех достоинствах Mathematica можно почитать на официальном сайте
Для начала работы с Mathematica вам необходимо её получить и установить на свой компьютер. Mathematica прекрасно работает на Windows, Mac, Linux.
Скачать и бесплатно попробовать Mathematica так же можно на оф. сайте.
Если же вы надумаете её купить, то цены на неё вполне приемлемые. Например для студента за семестровый вариант она обойдётся в $44.95. Для домашнего использования в $295. Если вы планируете использовать её для коммерческих целей, то наилучший вариант лицензии это Standard Edition (Вы получаете подписку на Premier Service и бесплатные обновления).
Изучение
Самая лучшая книга по Mathematica — это встроенный Help. Имеет огромную кучу туториалов и советов. Огромное множество примеров. Всё что вам может понадобится находится там. Это первое место где нужно искать нужную информацию. Однако, если вам нужно больше, в интернете огромное множество сообществ посвещённых Mathematica. (Например: mathematica.stackexchange.com).
Блокноты и Ячейки
- Ячейки ввода – в них задаются команды, которые будут вычислены
- Ячейки результата – в них выводится результат вычислений
- Другие ячейки – ячейки с текстом, заголовки и все остальное

Нумерация ячеек идёт в том порядке в котором вы их запустили. Для того что-бы вычислить значение ячейки нажмите 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
- Программирование
- Математика
Как использовать вывод команд таких Solve
Команда Solve и другие функции, такие как FindInstance, NSolve и NDSolve возвращают результат в форме списка правил. В языке Wolfram Language правила ассоциируют символ со значениями. Например, рассмотрим такой вывод:
roots = Solve[x^2 + 4 x - 1 == 0, x]
-2 - Sqrt[5]>, -2 + Sqrt[5]>>
Результат вычисления – это список списков правил. Каждый подсписок представляет собой возможное значение переменной x. Для получения первого решения в виде правила можно вычислить:
roots[[1]]
-2 - Sqrt[5]>
Символ – это x , а его значение – это — 2 — Sqrt[5] . Команда ReplaceAll (или сокращенно, /. ) заменяет каждое появление символа на его значение согласно данному правилу. Например, если мы хотим всюду заменить символ x в многочлене x^2 + 4 x — 1 на значение его первого корня, мы используем следующую команду:
x^2 + 4 x - 1 /. roots[[1]]
Результат вычисления такой подстановки дает ожидаемый ноль. Для получения второго корня многочлена и присвоения его новой переменной secondRoot вычислим:
secondRoot = x /. roots[[2]]
Пожалуйста, ознакомьтесь с вводным материалом о применении правил, где приведены дополнительные примеры и дана информация об использовании правил. Для некоторых команд, таких как NDSolve существуют эквивалентные команды с суффиксом “Value” (то есть, NDSolveValue), которые вместо правил подстановки дают непосредственные решения.
Mathematica Поддержка

![]()
Если у вас есть вопросы о ценах и оплате, активации или сомнения по техническим темам, мы готовы вам помочь.
Обратная связь
1-800-WOLFRAM (+1-217-398-0700 для международных звонков)
Служба поддержки
Понедельник-пятница
с 08:00 до 17:00 по центральному времени США
- Регистрация или активация продукта
- Предпродажная информация и заказ
- Помощь в установке и первом запуске
Расширенная техническая поддержка (для правомочных клиентов)
Понедельник-четверг
с 08:00 до 19:00 по центральному времени США
Пятница
с 08:30 до 10:00 и с 11:00 до 17:00 по центральному времени США
- Приоритетная техническая поддержка
- Поддержка по продуктам от экспертов Wolfram
- Помощь специалистов по программированию на Wolfram Language
- Расширенная поддержка установки
© 2024 Wolfram. Все права защищены.
- Правовые вопросы и Политика конфиденциальности
- Карта сайта
- WolframAlpha.com
- WolframCloud.com
Mathematica & Язык Wolfram
Краткое введение для студентов математических специальностей
Данный учебник поможет узнать, как решать математические задачи на языке программирования Wolfram, начиная с простой арифметики и заканчивая вычислением интегралов. Язык Wolfram охватывает широкий спектр разделов математики, включая как университетские дисциплины, так и более продвинутые концепции. Этот учебник создан специально для быстрого обучения студентов математических специальностей различных уровней подготовки навыкам использования Языка Wolfram для расчетов, визуализации и презентаций.