Вопрос простой алгебры, для программы, которую я пишу - PullRequest
3 голосов
/ 16 февраля 2009

Как бы я решил:

-х ^ 3 - х - 4 = 0

Вы не можете использовать квадратичный, потому что это в 3-й степени, верно?

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

Я начал с:

f (x) = x + (4 / (x ^ 2 + 1)).

Решая для 0, перемещая x на другую сторону, умножая на (x ^ 2 + 1) с обеих сторон, я получаю:

-х (х ^ 2 + 1) = 4,

или

-х ^ 3 - х - 4 = 0.

Ответы [ 5 ]

4 голосов
/ 16 февраля 2009

Нахождение корней уравнений с использованием метода Ньютона или Итерация с фиксированной точкой

4 голосов
/ 16 февраля 2009

Алгебраически вы хотите использовать метод Кардано:

http://www.math.ucdavis.edu/~kkreith/tutorials/sample.lesson/cardano.html

Используя этот метод, решить его примерно так же легко, как квадратичный.

На самом деле, это, возможно, яснее:

http://en.wikipedia.org/wiki/Cubic_function#Summary

2 голосов
/ 16 февраля 2009

Найти корень с помощью итерации Ньютона (см. Ссылку ниже). Затем разделите полином на (x-TheRootYouFound). В результате вы получите квадратичную формулу, которую вы можете подключить к выбранному вами квадратичному корню.

Об итерациях Ньютона:

http://en.wikipedia.org/wiki/Newton%27s_method

О полиномиальном делении

http://en.wikipedia.org/wiki/Polynomial_long_division

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

http://en.wikipedia.org/wiki/Root-finding_algorithm

2 голосов
/ 16 февраля 2009

Это кубическая функция. Вы правы, квадратная формула не применяется.

Вы дали один корень, но в целом их три.

Как вы пришли к этому единственному значению? Методом проб и ошибок? Это законно. Вам не нужно ничего «выводить».

x ^ 3 + a2 * x ^ 2 + a1 * x + a0 = 0 можно записать как (x-x1) * (x-x2) * (x-x3) = 0, где x1, x2 и х3 три корня. Если вы знаете, что указанный вами корень правильный, вы можете разделить его и оставить (x-x2) * (x-x3) = 0, что является квадратичной величиной, к которой вы можете применить обычные методы.

1 голос
/ 16 февраля 2009

Это может помочь не с точки зрения программирования, а с точки зрения математики ...

Обратите внимание, что в этой конкретной кубической функции вам нужно учитывать мнимые числа, потому что когда x = i, тогда у вас есть знаменатель, равный нулю (в вашем исходном уравнении). Кроме того, вообще говоря, вы не должны умножать или делить на переменные (хотя сложение и вычитание это хорошо), когда вы перемещаете их на другую сторону уравнения, потому что вы вообще забудете об условии, когда термин вы умножаете или делите это ноль. Эти ответы необходимо исключить из набора решений.

x = i - пример исключенного решения в вышеуказанной кубике. Вам нужно оценить ваши исключенные решения , прежде чем вы вообще манипулируете уравнением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...