Publicado el 27 de Julio del 2018
736 visualizaciones desde el 27 de Julio del 2018
92,2 KB
4 paginas
Creado hace 10a (19/08/2014)
Programación: Multiplicación de un polinomio
por un binomio
Objetivos. Escribir una función que multiplique un polinomio por un binomio. Vamos a
usar esta función en otras partes del curso.
Requisitos. Ciclos, definición de una función en Wolfram Mathematica.
1. Listas (arreglos) en Wolfram Mathematica. El lenguaje Wolfram Mathematica
no se hace la diferencia entre listas y arreglos; se puede usar cualquiera de estas dos
palabras. Hay que tener en cuenta que
en Wolfram Mathematica los índices de elementos empiezan en 1.
Para acostumbrarse a la sintaxis ejecute los siguientes comandos uno por uno (después
de cada comando oprima Shift-Enter). No es necesario teclear los (∗ comentarios ∗).
a = {10, 20, 30}
(∗ crear una lista con elementos 10, 20, 30 ∗)
Length[a]
(∗ longitud de la lista ∗)
a[[2]]
(∗ obtener el valor del segundo elemento ∗)
a[[2]] = 70
(∗ modificar el valor del segundo elemento ∗)
(∗ ver la lista modificada ∗)
a
b = Table[0, {7}]
(∗ crear una lista de longitud 7 con elementos nulos ∗)
2. Guardar polinomios como listas de sus coeficientes. Vamos a representar los
polinomios como listas de sus coeficientes, empezando con el término independiente. Por
ejemplo, el polinomio
f(x) = 7x4 − 3x2 + 5x + 4
se guardará como la lista de números 4, 5, −3, 0, 7. En general, el polinomio
f(x) = a1 + a2x + a3x2 + ··· + anxn−1
guardamos como la lista {a1, a2, a3, . . . , an}. Aquí n es el número de coeficientes, o sea la
longitud de la lista de coeficientes. En vez de n se puede usar la variable d = n − 1, es
decir, el grado del polinomio. Nótese que ak es el coeficiente de xk−1.
Programación: Multiplicación de un polinomio por un binomio, página 1 de 4
Fórmulas de multiplicación de un polinomio por un binomio
(se recomienda deducirlas antes de la clase práctica)
3. Fórmulas para multilicar un polinomio de grado 3 por un binomio mónico.
Sean f(x) un polinomio de grado 3 y g(x) un binomio mónico, es decir, un binomio cuyo
coeficiente del grado mayor es 1:
coeficientes.
coeficientes.
g(x) = b + x.
f(x) = a1 + a2x + a3x2 + a4x3,
Notemos que el polinomio f(x) es de grado 3 y por lo tanto tiene
En este caso el producto f(x)g(x) es de grado
, esto es, tiene
Denotemos los coeficientes del producto f(x)g(x) por c1, . . . ,
¿cuántos?
:
¿cuántos?
?
c1 + c2x + c3x2 + c4x3 + c5x4 = (a1 + a2x + a3x2 + a4x3)(b + x).
?
Exprese los coeficientes c1, . . . , c5 a través de a1, . . . , a4 y b:
c1 =
c2 =
c3 =
c4 =
c5 =
?
?
?
?
?
,
,
,
,
.
Se puede ver que las fórmulas para c2, c3, c4 tienen la misma estructura:
ck =
,
para
≤ k ≤
.
Las fórmulas para los “coeficientes extremos” c1 y c5 son diferentes (“degeneradas”).
?
?
?
Programación: Multiplicación de un polinomio por un binomio, página 2 de 4
4. Fórmulas para multiplicar un polinomio por un binomio mónico.
Sean
Entonces el producto f(x)g(x) es de grado
f(x) = a1 + a2x + . . . + anxn−1,
, esto es, tiene
g(x) = b + x.
coeficientes.
Denotemos por c1, . . . , cn+1 los coeficientes del producto f(x)g(x):
c1 + c2x + ··· + cn+1xn = (a1 + a2x + . . . + anxn−1)(b + x).
?
¿cuantos?
Exprese los coeficientes c1, . . . , cn+1 a través de los coeficientes a1, . . . , an y b.
c1 =
ck =
cn+1 =
?
?
?
;
.
para
≤ k ≤
;
?
?
5. Algoritmo MulPolBinom (pseudocódigo).
función MulPolBinom(a, b):
variables locales: n, c, k;
;
?
:
;
?
;
n := longitud(a);
c := lista nula de longitud
c1 :=
para k de
ck :=
cn+1 :=
regresar
a
.
;
?
?
?
?
?
Programación: Multiplicación de un polinomio por un binomio, página 3 de 4
Programar la multiplicación de un polinomio por un binomio
en algún lenguaje de programación
6. Problema MulPolBinom (2 %).
Traduzca el algoritmo MulPolBinom a un lenguaje de programación. En otras palabras,
escriba una función que calcule los coeficientes del producto de un polinomio f(x) por un
binomio b + x.
Entrada (argumentos de la función): a, b,
donde a es la lista de los coeficientes de f(x).
Salida (que debe regresar la función): la lista de los coeficientes del producto.
Por ejemplo, en el lenguaje Wolfram Mathematica la función MulPolBinom se puede
definir de la siguiente manera (hay que sustituir . . . por expresiones apropiadas):
MulPolBinom[a_, b_] :=
Module[{c, ...},
n = Length[a];
c = ...;
c[[1]] = ...;
...
...
c]
7. Primera comprobación. Es fácil ver que
(7 − 2x + 4x2 − 5x3)(3 + x) = 21 + x + 10x2 − 11x3 − 5x4,
Por eso MulPolBinom[{7,-2,4,-5},3] debe regrear la lista {21,1,10,-11,-5}.
8. Segunda comprobación. Multiplique a mano el polinomio 5x2 −7x+3 por el binomio
x + 2. Luego ejecute MulPolBinom[{3, -7, 5}, 2].
Programación: Multiplicación de un polinomio por un binomio, página 4 de 4
Comentarios de: Programación: Multiplicación de un polinomio por un binomio (0)
No hay comentarios