2011-02-06 3 views
3

Есть ли какие-либо простые способы преобразования математических формул в код Python? Возможно, переводчики, веб-ссылка на конкретную главы из книг, все, что ~Как преобразовать формулу Math в код Python?

Для регулярных выражений есть такие программы, как Kodos и сайтов, такие как pythonregex.com, так что я надеялся, что там будет что-то подобное для формулы нотации и Python.

+1

Что именно преобразует математическую формулу в код python? Что такое «код python» для математической формулы? – Falmarri

+2

Я подозреваю, что это зависит от того, что вы подразумеваете под «математической формулой». Перевод чистых вычислений (с некоторыми переменными, posisbly), вообще говоря, довольно прямолинейный. Сумма может быть выражена как цикл for. – Vatine

+2

Существуют определенные формулы, которые не так легко перевести. Примеры: \ sum_ {n = 0}^\ infty 1/n^2, \ int_0^1 \ sin x dx, \ lim_ {x \ to 0} (e^x - 1)/x. – Vlad

ответ

4

Нет, это невозможно вообще. Существуют математические функции, которые не являются вычислимыми (например, см. wikipedia/Halting_problem). Существуют и другие математические функции, где просто не ясно, как их кодировать (рассмотрим сложные интегральные или дифференциальные уравнения). Есть много книг, написанных о поиске численных решений этих проблем (вы можете найти некоторые ссылки здесь: wikipedia/Numerical_analysis).

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

+0

имеет смысл, хотя регулярные выражения не являются особыми символами, можно утверждать, что, поскольку они используют регулярные грамматики, они формальный язык. численный анализ будет моим следующим шагом; это просто, прямо, но занята работой. надеялся, что есть более быстрое решение. Спасибо за ваш ответ! – Morvern

+0

@Mleep: Численный анализ не является «простым, прямым», и это не просто «занятая работа». Какая у тебя математика? Это то, что вы пытаетесь сделать для проекта или чего-то еще? – Falmarri

+0

@Falmarri Ну, для некоторых это довольно линейный процесс. Я работаю на наборах уровней, создавая моделирование 2d и 3d жидкостей, формулы раздражают переписывание в python и надеялись на переводчика. Не нужно ехать сюда «выше, чем ты». Когда я знаю формулу, или это уже было сделано раньше, преобразование это занятая работа. Это не мнение. – Morvern

Смежные вопросы