2010-09-03 6 views
0

Я работаю над проектом создания общего решателя уравнений ... представьте это, чтобы принять форму 25-30 уравнений, которые будут сохранены в именах табличных переменных вместе с операторами.алгоритм для решения связанных уравнений

Я хотел бы затем вызвать эту таблицу для решения любого уравнения с отсутствующим переменной, и было бы переместить операторы/другие части в другую сторону недостающий переменной

например, 2x + 3y = z и если x отсутствовала переменная. Я бы назвал уравнение со значениями у и г, и было бы преобразовать, чтобы решить для й = (г-3y)/2

уравнение может быть линейным, полиномиальным, двоичным (да/нет результата) ...

Я не уверен, могу ли я получить любую имеющуюся легковую библиотеку, или это нужно построить с нуля ... любые указатели или руководство будут оценены

ответ

0

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

Даже для линейных уравнений сложно сделать это правильно.

Ваш лучший выбор - это некоторая форма алгоритма Ньютона, но, как правило, вы адаптируете его к своей проблеме.

EDIT: Я не видел, чтобы вы хотели что-то символическое, а не численное. Это еще один мешок червей.

+0

Это будет написано «портной». Сожалею. : -/ –

+0

ах ок. Исправлена. Я не являюсь носителем английского языка, но определенно математиком ... Talyor для меня гораздо более естественным, чем портной (каким бы богатым он ни был). –

+0

Думаю, я не объяснил, что нужно, - не ожидая, что свиньи будут летать ... на одном уровне все, что мне нужно, - это способность хранить уравнение, состоящее из нескольких переменных, и затем иметь возможность решить его, если один переменная отсутствует. Уравнения 25-30 НЕ являются системой уравнений. Я буду использовать только одно уравнение за раз. И проверки ошибок, сделанные заранее, прежде чем попасть сюда. Если его еще сложная проблема, потребуется пересмотреть подход ... в настоящее время, решая его с помощью сложного процесса – raghu

1

См. Maxima.

Мне это больше нравится в моих символических вычислениях.

+0

вы можете поделиться более подробно - вы используете библиотеки максимумов из своего кода? – raghu

+0

@raghu: Нет, я обычно прямо кодирую в нем. Он написан в Common Lisp, поэтому с некоторой работой вы должны иметь возможность связать его, по крайней мере, с stdin/out. –

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