Polinomios

S. Juarez
17 de Diciembre del 2005
Si alguien tiene un programa en C que opere con polinomios (suma,resta,multiplicacion,divicion,M.C.D.) o uno que derive simbolicamente, le agradeceria mucho el que me lo pudiera proporcionar.

rocachondo
17 de Diciembre del 2005
No tengo ningún programa que te haga eso, pero te puedo orientar.

Para el de los polinomios yo creo que lo mejor es guardar los coeficientes en una tabla. Por ejemplo, si lo que quieres es representar el polinomio 1+x^2+2*x^3, lo haces de esta forma: pol[]={1,0,1,2}. El problema de hacerlo de esta forma es que tienes que declarar una tabla bastante grande para que puedas guardar cualquier polinomio. Por ejemplo, tienes que declarar una tabla de 50 y así podrás guardar un polinomio de hasta grado 49.

Otra forma de hacer lo de los polinomios es declarando una lista enlazada; cada elemento sería una estructura en la que tendríamos un número tipo double y un puntero al siguiente elemento de la lista.

Para sumar simplente tendrías que sumar los elementos de mismo índice y completar la tabla. La multiplicación también es sencilla, sería hacer la suma de varios polinomios que previamente han sido multiplicados por un número y han sido desplazados dependiendo del grado. La división y el MCD no caigo ahora mismo cómo hacerlo, pero me imagino que no será demasiado difícil.

En cuanto al programa que deriva simbólicamente no sé exactamente lo que quieres. ¿Hay que derivar los polinomios o cualquier función? Si es el polinomio es bastante fácil. Si no, tienes que ir declarando reglas para cada tipo de función.