You are on page 1of 36

SPegurida

o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

POLINOMIOS EN MATLAB

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Polinomios

Los polinomios son expresiones matemáticas utilizadas muy frecuentemente


en el modelado de problemas científicos

x -12x +25x+116
4 3

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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?

13 ¿De qué grado es?

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Valor de un Polinomio

Podemos obtener el valor de un polinomio para cualquier valor de x.

Ex:
f(x) = 5x3 + 6x2 - 7x + 3

>> x = 2;

>> y = (5 * x^ 3) + (6 * x ^ 2) - (7 * x) + 3;

y=
53

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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) = 5x3 + 6x2 - 7x + 3


p = [5 6 -7 3]; %definimos el vector con los coeficientes del
% polinomio
x = 2; % definimos el valor a evaluar
y = polyval(p, x)
y = 53

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Ejercicios Valor de un Polinomio

Obtenga el valor de los siguientes polinomios:

f(x)= x2 + x - 12 x=6

f(x)= x3 - 4 x2 + x + 6 x=[1:5];

f(x)= x4 - 5 x2 + 4 x=[0:10];

f(x)= x3 + 4 x2 + 3 x x=[pi:0.1:2*pi];

f(x)= x3 - 2 x2 - 5 x + 6 x=8;

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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

f(x) = x2 + x - 12
Cuando lo igualamos a cero y lo resolvemos tenemos:

x2 + x - 12 = 0 Igualando a cero
(x + 4)(x - 3) = 0 Factorizando
x=-4 Solución 1
x=3 Solución 2

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Raíces de un polinomio en MatLab

MatLab realiza esta operación utilizando el comando:

>> roots ()

Definimos el vector con los coeficientes del polinomio:


f(x) = x2 + x - 12
>> p= [1 ,1, -12];

Obtenemos sus raíces:


>> r=roots (p)
-4 3

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Ejercicios Raíces de un Polinomio

Obtenga las raíces de los siguientes polinomios:

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

f(x)= x3 - 2 x2 - 5 x + 6

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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

f(x)= x3 - 2 x2 - 5 x + 6

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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
r= -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
>> plot(r,0,'r*') % Graficamos las raíces

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Representación gráfica de las raíces de un polinomio

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

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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(x) = x2 + x - 12

>> p = [ 1 1 -12 ]

>> v=roots(p) ans -4 3

>> q =poly(v) ans 1 1 -12

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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):

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

División de Polinomios

[co,r]=deconv(a,b) división del polinomio a entre el polinomio b; en c


se devuelve el cociente y en r el residuo de la división.

[c,r]=deconv(a,b)
co = 1
r = 0 -2 -6 -12
Verifiquemos este resultado con la fórmula r = c*b + r:
a=conv(c, b) + r
a=
1 2 3 4

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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.

1 6 20 52 81 96 84

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Ejercicios
-Realice la suma y multiplicación de a y b
-Divida y reste c y d
- Multiplique, sume, reste y divida a y e

a= x2 + x - 12

b= x3 - 4 x2 + x + 6

c= x4 - 5 x2 + 4

d= x3 + 4 x2 + 3 x

e= x3 - 2 x2 - 5 x + 6

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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


el vector v

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Derivación de polinomios

MatLab incluye un comando para realizar una diferenciación de un polinomio


como:

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Derivación de polinomios polyder()

MatLab incluye un comando para realizar una diferenciación de un polinomio


como:

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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.

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

Dado los siguientes serie de datos:

Graficamos x y >> plot(x,y,’r*’)

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

Gráfica
10

5
Ajustamos:
4
>> axis([-1 6 0 10])
3

0
-1 0 1 2 3 4 5 6

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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 ajuste
x= Es un vector con las coordenadas horizontales de los datos.
y= Es el vector con las coordenadas verticales de los datos
n= Es el grado del polinomio de ajuste deseado

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximació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.

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

Gráfica
10
P=polyfit(x,y,1)
9

8 P=
7
1.8800 0.3500
6
% coeficientes de la recta
5

0
-1 0 1 2 3 4 5 6

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

La recta que hemos encontrado es: 10

9
f(x)=ax+b 8

5
>> hold on 4

>> y = 1.88*x + 0.35 %Sustituimos


3

>> 2.2300 4.1100 5.9900 7.87001


0
>> plot(x,y) -1 0 1 2 3 4 5 6

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados


Para evitarnos sustituir los valores del polinomio, podemos usar
10
polyval
9

>>P=polyfit(x,y,1) 5

>>P= 3
1.8800 0.3500 2
>>y2= polyval(P,x)
1

2.2300 4.1100 5.9900 7.8700 0


-1 0 1 2 3 4 5 6
>>plot(x,y2)

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

Ejercicios: Mediante el Método de Mínimos Cuadrados, elegir una función


cuadrática del tipo:

para los valores de x e y dados por la siguiente tabla

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

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.

X 0.9 1.5 3 4 5 8 9.5


Y 0.9 1.5 2.5 5.1 4.5 4.9 6.3

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

Como se puede ver, el polinomio de grado n=1 es una línea recta, mientras que el
polinomio de grado n=2 es una línea ligeramente curva. Al incrementar el grado
del polinomio la curva se ajusta más a los puntos. Cuando n=6 la línea pasa por
todos los puntos; sin embargo, entre algunos de los puntos, la línea se desvía
significativamente de la tendencia original marcada por los datos estudiados

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

Supongamos un conjunto de n pares de datos: (x1; y1); (x2; y2); : : : ; (xn;


yn). Se trata de encontrar una recta, que llamaremos recta de regresión, que
mejor se aproxime a los datos en el sentido de los mínimos cuadrados.
Esta recta puede obtenerse con Matlab con la orden polyfit.

Se tienen los siguientes datos relativos al crecimiento de una determinada


población:

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

Definimos x y.

www.upibi.net
SPegurida
o l i nd o
en m
Internet
io s
Oriol Roca
Ma t L a b

Aproximación por mínimos cuadrados

Coeficiente de correlación lineal

Este coeficiente es una medida numérica sobre la relación lineal entre las
dos variables, su valor se encuentra entre -1 y +1. Al elevar al cuadrado
dicho coeficiente, sus valores se encontrarán entre cero y uno positivo
[0,+1]. Entre mas cercano se encuentre dicho coeficiente a +1, la regresión
lineal realizada se ajusta mejor a los datos.

MATLAB

corrcoef(y1,y2)
www.upibi.net

You might also like