Publicado el 27 de Julio del 2018
735 visualizaciones desde el 27 de Julio del 2018
88,5 KB
4 paginas
Creado hace 8a (08/08/2016)
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. Programación de ciclos for en GNU Octave, definición de una función en
GNU Octave.
1. Arreglos (vectores) en GNU Octave. Hay que tener en cuenta que
en GNU Octave los índices de elementos empiezan en 1.
Para acostumbrarse a la sintaxis ejecute los siguientes comandos uno por uno en el
intérprete de GNU Octave. No es necesario teclear los # comentarios.
a = [10; 20; 30]
# crear un arreglo con elementos 10, 20, 30
length(a)
# longitud del arreglo
a(2)
# obtener el valor del segundo elemento
a(2) = 70
# modificar el valor del segundo elemento
a
# ver el vector modificado
b = zeros(7, 1)
# crear un vector de longitud 7 con elementos nulos
2. Guardar polinomios como arreglos de sus coeficientes. Vamos a representar los
polinomios como arreglos de sus coeficientes, empezando con el término independiente.
Por ejemplo, el polinomio
f(x) = 7x4 − 3x2 + 5x + 4
se guardará como el arreglo de números 4, 5, −3, 0, 7. En general, el polinomio
f(x) = a1 + a2x + a3x2 + ··· + anxn−1
guardamos como el arreglo con elementos a1, a2, a3, . . . , an. Aquí n es el número de coefi-
cientes, o sea la longitud del arreglo 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.
;
.
para
≤ k ≤
;
?
?
c1 =
ck =
cn+1 =
?
?
?
5. Algoritmo mulpolbinom (pseudocódigo).
función mulpolbinom(a, b):
variables locales: n, c, k;
;
?
:
;
;
n := longitud(a);
c := arreglo nulo de longitud
c1 :=
para k de
ck :=
cn+1 :=
Salida:
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.
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 el arreglo de los coeficientes de f(x).
Salida (que debe regresar la función): el arreglo de los coeficientes del producto.
Por ejemplo, en el lenguaje GNU Octave la función se puede definir de la siguiente manera
(hay que guardarla en el archivo mulpolbinom.m y sustituir . . . por expresiones apropia-
das):
function [c] = mulpolbinom(a, b),
n = length(a);
c = zeros(..., 1);
c(1) = ...;
for k = ... : ...,
...
endfor
...
endfunction
7. Primera comprobación. Ejecutar en el intérprete de GNU Octave el comando
mulpolbinom([7; -2; 4; -5], 3)
Se debe regresar el vector [21; 1; 10; -11; -5], porque
(7 − 2x + 4x2 − 5x3)(3 + x) = 21 + x + 10x2 − 11x3 − 5x4.
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