Polinomios
Los polinomios son expresiones matemáticas utilizadas muy frecuentemente en el modelado de problemas científicos
Polinomios
Matlab proporciona poderosas herramientas para realizar operaciones
estándares sobre polinomios como por ejemplo: encontrar raíces, evaluar y
diferenciar.
Un polinomio se representa en forma de vector utilizando sus coeficientes ordenados descendentemente con respecto a sus potencias.
Observa que las potencias que no aparecen en el orden descendente, deben de ser cubiertas por un coeficiente 0, como es el caso de la
Grado de un polinomio
El grado de un polinomio es igual al exponente mayor de la variable. Por ejemplo:
5 x2 Es un polinomio de grado 2
6 x7 - 2 Es de grado 7
3 x5 + 4 x3 - x2 Es de grado 5 2 x4- x3 - x2 ¿De qué grado es? 6 x5 - 4 x2 - 19 x ¿De qué grado es? 3 x15 + x13 - x2 ¿De qué grado es?
Valor de un Polinomio
Podemos obtener el valor de un polinomio para cualquier valor de x. Ex:
f(x) = 5x
3+ 6x
2- 7x + 3
>> x = 2;
>> y = (5 * x^ 3) + (6 * x ^ 2) - (7 * x) + 3;
y =
53
Valor de un Polinomio
Otra manera de hacerlo más sencillo, para ello usamos el comando:
polyval (p, x)
p
Es el vector con los coeficientes del Polinomio.
x
es un número, variable de expresión.
f(x) = 5x
3+ 6x
2- 7x + 3
p = [5 6 -7 3];
%definimos el vector con los coeficientes del % polinomiox = 2;
% definimos el valor a evaluary = polyval(p, x)
y = 53
Ejercicios Valor de un Polinomio
Obtenga el valor de los siguientes polinomios:
f(x)= x
2+ x - 12
x=6
f(x)= x
3- 4 x
2+ x + 6
x=[1:5];
f(x)= x
4- 5 x
2+ 4
x=[0:10];
f(x)= x
3+ 4 x
2+ 3 x
x=[pi:0.1:2*pi];
Raíces de un polinomio
La raíz de un polinomio es un número tal que hace que el polinomio valga cero. Es decir que, cuando resolvamos un polinomio a cero, las soluciones son las raíces del polinomio.
Por ejemplo el polinomio
Cuando lo igualamos a cero y lo resolvemos tenemos:
x
2+ x - 12 = 0
Igualando a cero
(x + 4)(x - 3) = 0
Factorizando
x = - 4
Solución 1
x = 3
Solución 2
Raíces de un polinomio en MatLab
MatLab realiza esta operación utilizando el comando:
>> roots ()
Definimos el vector con los coeficientes del polinomio:
>> p= [1 1 -12];
Obtenemos sus raíces:
>> r=roots (p)
-4 3
Ejercicios Raíces de un Polinomio
Obtenga las raíces de los siguientes polinomios:
f(x)= x
2+ x - 12
f(x)= x
3- 4 x
2+ x + 6
f(x)= x
4- 5 x
2+ 4
f(x)= x
3+ 4 x
2+ 3 x
Representación gráfica de las raíces de un polinomio
Como las raíces de un polinomio hacen que éste valga cero, en un plano cartesiano esto lo identificamos como las intersecciones de la gráfica del polinomio con el eje de las X (abscisas).
Esto es, los puntos en donde cruza la gráfica al eje horizontal tienen como abscisa la raíz del polinomio graficado.
A continuación presentamos algunas funciones con sus raíces, factores y gráficas: f(x)= x2 + x - 12
f(x)= x3 - 4 x2 + x + 6
f(x)= x4 - 5 x2 + 4
f(x)= x3 + 4 x2 + 3 x
Representación gráfica de las raíces de un polinomio f(x)=x2 + x -12
>> p=[1, 1, -12]; % Definimos el vector con los coeficientes del polinomio >> r=roots(p) % Obtenemos las raíces
x= -4 3
>> x=-6:0.1:5; % Definimos los valores de 'x' de acuerdo a sus raíces >> y=polyval(p,x); % Evaluamos el polinomio en 'x'
>> plot(x,y) % Graficamos >> grid % Malla
>> hold on
Representación gráfica de las raíces de un polinomio
f(x)= x2 + x - 12 f(x)= x3 - 4 x2 + x + 6
Construcción de un polinomio a partir de sus raíces.
poly(v)
Retorna un vector (polinomio) cuyos elementos son los coeficientes del polinomio cuyas raíces son los elementos de v.
Puede apreciarse que roots y poly son funciones inversas. Ejemplo:
>> p = [ 1 1 -12 ]
>> v=roots(p)
ans -4 3
>> q =poly(v)
ans 1 1 -12
Multiplicación de Polinomios
La operación de la multiplicación se realiza mediante operaciones matriciales debido a la naturaleza de MatLab, por lo que para multiplicar dos arreglos utilizamos la función de la
conv( )
. Definimos primero dos polinomios a(x) y b(x):División de Polinomios
[c,r]=deconv(a,b)
división del polinomio a entre el polinomio b; en cse devuelve el cociente y en r el residuo de la división.
[c,r]=deconv(a,b)
c = 1
r = 0 -2 -6 -12
Verifiquemos este resultado con la fórmula r = c*b + r:
a=conv(c, b) + r
a =
Suma y Resta de Polinomios.
Para sumar o restar dos polinomios solo tenemos la restricción de que los vectores que representan a dichos polinomios tendrán que ser de igual tamaño de elementos. Si esto no es así tenderemos que rellenar con ceros los lugares que se requieran para igualar el número de coeficientes restantes, de forma que si tenemos un polinomio donde el máximo grado es 7 (coeficientes), y otro con potencia máxima de 4, tenemos en este último que agregarle 3 ceros a la izquierda para poder realizar una adición o una resta.
Ejercicios
-Realice la suma y multiplicación de
a
yb
-Divida y reste
c
yd
- Multiplique, sume, reste y divida
a
ye
a= x
2+ x - 12
b= x
3- 4 x
2+ x + 6
c= x
4- 5 x
2+ 4
d= x
3+ 4 x
2+ 3 x
Derivación e integración
polyder(v) Deriva el polinomio cuyos coeficientes vienen dados por
el vector v
polyder(v,w) Deriva el polinomio producto de v*w
[q,d]=polyder(v,w) Deriva el polinomio cociente de v/ w
polyint(v) Integra el polinomio cuyos coeficientes vienen dados por
Derivación de polinomios
MatLab incluye un comando para realizar una diferenciación de un polinomio como:
Derivación de polinomios
polyder()
MatLab incluye un comando para realizar una diferenciación de un polinomio como:
Aproximación por mínimos cuadrados Curva de ajuste
Consiste en ajustar mediante una función un conjunto de datos representados por puntos.
Supongamos un conjunto de n pares de datos: (x1; y1); (x2; y2); : : : ; (xn;
yn). Se trata de encontrar una curva (o recta), que llamaremos curva de
regresión, que mejor se aproxime a los datos en el sentido de los mínimos cuadrados.
Aproximación por mínimos cuadrados
Dado los siguientes serie de datos:
Aproximación por mínimos cuadrados Gráfica 0 1 2 3 4 5 6 7 8 9 10 Ajustamos:
>> axis([-1 6 0 10])
Aproximación por mínimos cuadrados
La curva de ajuste se puede obtenerse con Matlab con la orden.
p=polyfit(x,y,n
) Donde:p
= Es el vector con los coeficientes del polinomio de ajustex
= Es un vector con las coordenadas horizontales de los datos.y
= Es el vector con las coordenadas verticales de los datosAproximación por mínimos cuadrados
La función polyfit se utilizará para calcular polinomios de ajuste sobre m puntos, para cualquier grado hasta, como máximo, m-1.
Si n=1, el polinomio será una línea recta
Sí n=2, será una parábola, y así sucesivamente.
NOTA: Los polinomios con grados elevados, o que pasen por todos los
puntos, no dan siempre el mejor ajuste posible, ya que a veces pueden desviarse significativamente entre algunos puntos dados.
Aproximación por mínimos cuadrados Gráfica -1 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 10
P=polyfit(x,y,1)
P= 1.8800 0.3500 % coeficientes de la rectaAproximación por mínimos cuadrados
La recta que hemos encontrado es:
f(x)=ax+b
-1 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 10>> hold on
>> y = 1.88*x + 0.35
%Sustituimos
>> 2.2300 4.1100 5.9900 7.8700
>> plot(x,y)
Aproximación por mínimos cuadrados -1 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 10
>>P=polyfit(x,y,1)
>>P=
1.8800 0.3500
>>y2= polyval(P,x)
2.2300 4.1100 5.9900 7.8700
>>plot(x,y2)
Aproximación por mínimos cuadrados
Ejercicios: Mediante el Método de Mínimos Cuadrados, elegir una función
cuadrática del tipo:
Aproximación por mínimos cuadrados
Ejercicios: Dados los siguientes datos, grafique los puntos y ajuste con
polinomios de grado 1 hasta 6 (6 gráficas).
Cada gráfica muestra el mismo conjunto de datos, marcados mediante puntos, y una curva de ajuste que corresponde con el polinomio de un determinado grado. Determine que curva se ajusta más a los puntos.