es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Maxima: ¿cómo extraer (solamente) el valor de `solve`?

Estoy intentando encontrar las raíces de expresiones polinómicas relativamente simples de manera programática.

Encontré que solve(expr, var) devuelve una lista de ecuaciones que satisfacen expr y descubrí que al usar args en los elementos de esta lista se obtiene [var, val_i]. Me preguntaba si esta es la forma más directa de abordarlo.

Probé con allroots pero obtengo un error “no es un polinomio” para todo lo que intenté ingresar, ya sea una expresión o una ecuación (por ejemplo, intenté var + 8, var+8 = 0, var^2 + 16, etc.).

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en ecuaciones, máximos y wxmaxima, puedo sugerir lo siguiente:

    La función solve(expr, var) es en efecto un enfoque directo para encontrar las raíces de una expresión polinómica de forma programática. Devuelve una lista de ecuaciones que satisfacen la expresión expr, y args se puede usar en esta lista para extraer las soluciones en forma de [var, val_i].

    En cuanto a la función allroots, está diseñada específicamente para encontrar todas las raíces de una ecuación polinómica, pero requiere una ecuación polinómica como entrada. El mensaje de error “no es un polinomio” sugiere que las expresiones que intentaste ingresar no son polinomios. Para usar allroots, debes ingresar una ecuación polinómica como ax^2 + bx + c = 0 o a*x^3 + b*x^2 + c*x + d = 0.

    En resumen, si tienes una expresión polinómica y deseas encontrar sus raíces de forma programática, solve(expr, var) es un enfoque directo. Si específicamente necesitas todas las raíces de una ecuación polinómica, puedes utilizar allroots, pero asegúrate de que tu entrada sea una ecuación polinómica.

Comments are closed.