2 votos

Dada una ecuación cúbica, ¿cómo puedes determinar un intervalo que contenga todas las raíces sin resolver?

Estoy intentando codificar un algoritmo que no utilice la fórmula cúbica para determinar una función cúbica $(ax^{3} + bx^{2} + cx + d)$ raíces. Me encontré con un algoritmo ( https://rosettacode.org/wiki/Roots_of_a_function#Java ), donde se indica el intervalo en el que pueden estar las raíces. A partir de ahí, el algoritmo busca entre ese rango. (Si alguien conoce el nombre de este algoritmo, también será de gran ayuda).

Sin embargo, me gustaría mejorar esto de alguna manera mediante el cálculo de un rango adecuado para el algoritmo para buscar dentro de lo que esto no depende de la entrada y por lo que muchos coeficientes diferentes se pueden introducir y un rango efectivo puede ser elegido. ¿Hay alguna forma de hacer esto razonablemente rápido, mirando los coeficientes y no resolviéndolo realmente? No busco que escriban el programa por mí, sólo que me indiquen una forma de hacerlo. Gracias :D

2voto

Michael Steele Puntos 345

Si $|x| > 1$ y $|x| > (|b|+|c|+|d|)/|a|$ entonces

$|ax^3| > (|b|+|c|+|d|)|x^2| > |bx^2| + |cx| + |d| \ge |bx^2+cx+d|$

y así $|f(x)| \ge |ax^3| - |bx^2+cx+d| > 0$ .

Esto demuestra que las raíces $x$ de $f$ satisy $|x| \le \max \{1, (|b|+|c|+|d|)/|a| \}$

0voto

fleablood Puntos 5913

Bueno, aquí hay algo. Tal vez no sea eficiente.

$f(x) = ax^3 + bx^2 + cx +d $ tendrá las mismas raíces que $-ax^2 - bx^2 - cx - d$ así que podríamos suponer $a > 0$ .

Resolver para $3ax^2 + 2bx + c = 0$

$x_1,x_2 = -\frac {2b \pm \sqrt{b^2 - 3ac}}{3a}$

si $b^2 \le 3ac$ sólo hay 1 raíz. Si $f(x_1) > 0$ y $f(x_2) < 0$ (viceversa si $a < 0$ ). Habrá 3 raíces: Una en $(-\infty, x_1)$ uno en $(x_1, x_2)$ y uno en $(x_2, \infty)$ .

Por lo demás, sólo hay una raíz.

Así que tienes tres o uno rangos que tendrán exactamente una raíz.

Sólo supongo que un montón de $x$ valores dentro de estos rangos para afinar. Si $f(x)$ y $f(y)$ están en lados opuestos de cero la raíz estará entre ellos. En caso contrario, no.

\===

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X