Если ввести в поисковике запрос "символьные вычисления в python", большинство результатов будут посвящены модулю SymPy. Это действительно мощный инструмент, описание работы с которым можно найти, например, здесь. Я же ограничусь кратким рассмотрением некоторых из возможностей данного модуля.
Показаны сообщения с ярлыком символьные преобразования. Показать все сообщения
Показаны сообщения с ярлыком символьные преобразования. Показать все сообщения
воскресенье, 10 июня 2018 г.
суббота, 26 декабря 2015 г.
Freemat. Добавим функциональности
Недавно, просматривая список функций в FreeMat, я заметил там упоминание о массиве ячеек, отдалённо напоминающем списки из Lisp-а. И появилось желание попробовать сделать что-нибудь для работы с символьными выражениями... например, функцию для дифференцирования функции аналитически... Итак, дайте бубен, будут танцы! :)
суббота, 4 апреля 2015 г.
пятница, 27 марта 2015 г.
Maxima. Символьные преобразования
Большинство рассмотренных ранее возможностей Maxima не являются чем-то уникальным и могут быть с той или иной степенью удобства повторены в других математических программах. В этом посте я хочу кратко осветить то, что является "коньком" программы, а именно, упрощение символьных выражений.
суббота, 21 марта 2015 г.
Maxima. Списки
В наследство от функционального программирования, и Lisp в частности, Maxima получила списки как базовую форму представления данных. Списком является группа элементов, разделённых запятыми и заключённых в квадратные скобки (совсем как в Python). Список может быть пустым или содержать любые другие элементы, в том числе вложенные списки. Запись
list:[1,a,[x,y]]
определяет список list, состоящий из 3-х элементов, последний из который сам является списком. Обратиться к определённому элементу можно по индексу (начиная с 1):
list[2] - a
list[3] - [x,y]
list[3][1] - x
Возможно, вы не планируете использовать в работе списки, но многие функции в Maxima возвращают результат именно в виде списков, поэтому нужно иметь представление о том, как с ними обращаться.
суббота, 7 марта 2015 г.
Maxima. Уравнения
Корни алгебраических уравнений и систем в Maxima могут быть найдены с помощью функции
solve([ур-е1, ур-у2, ... ур-еN],[x1,x2,...xN])
solve([ур-е1, ур-у2, ... ур-еN],[x1,x2,...xN])
где в левой части перечисляются уравнения, а в правой - переменные. Функция solve() также может быть использована и для поиска решений тригонометрических уравнений, но программа возвратит только один корень.
суббота, 24 января 2015 г.
SMath. Интегралы и производные
Для дифференцирования в SMath Studio служит функция diff(), которая может вернуть как символьное выражение производной, так и значение в точке. Функция записывается в виде diff(выражение; переменная) или diff(выражение; переменная; порядок). Не пугайтесь, что при записи вид выражения будет меняться, так задумано) Знак дифференциала можно вставить и из меню инструментов "Функции". Для получения символьного выражения используйте вместо равенства оператор символьного вычисления.
Узнать величину определённого интеграла можно с помощью функции int(выражение; переменная; нижний_предел; верхний_предел).
суббота, 3 января 2015 г.
SMath. Функции и символьные операции
Пользовательская функция в SMath Studio имеет формат
имя(арг1;арг2;...аргN):=выражение
Т.е. для её задания необходимо указать имя, затем в скобках через ";" перечислить аргументы, после чего ввести знак ":=" (с правой панели или нажатием "Ctrl+:") и записать функциональное выражение. Чтобы затем получить значение функции при некоторых аргументах, нужно указать её имя, в скобках задать эти аргументы и нажать знак равенства.
пятница, 14 ноября 2014 г.
Octave. Символьные вычисления
Интересной особенностью Octave является возможность работы с символьными выражениями, которая обеспечивается использованием библиотеки GiNaC. Реализованы, правда, далеко не все её возможности, но и того, что есть, во многих случаях достаточно.
четверг, 1 мая 2014 г.
Mathomatic. Символьные преобразования
Рассмотрим основные возможности Mathomatic в области символьных преобразований.
Подписаться на:
Сообщения (Atom)



