Programacion MATLAB:´ Ecuaciones, polinomios,...

36
beamer-tu-log Programaci ´ on MATLAB: Ecuaciones, polinomios, regresi ´ on e interpolaci ´ on. Curso: M´ etodos Num ´ ericos en Ingenier´ ıa Profesor: Dr. Jos´ e A. Otero Hern´ andez Correo: [email protected] web: http://metodosnumericoscem.weebly.com Universidad: ITESM CEM

Transcript of Programacion MATLAB:´ Ecuaciones, polinomios,...

Page 1: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Programacion MATLAB:Ecuaciones, polinomios, regresion e

interpolacion.

Curso: Metodos Numericos en IngenierıaProfesor: Dr. Jose A. Otero HernandezCorreo: [email protected]: http://metodosnumericoscem.weebly.comUniversidad: ITESM CEM

Page 2: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Topicos

1 Raıces de ecuaciones y polinomiosRaıces de la ecuacion algebraica y no linealRaıces de polinomiosRaıces de la ecuacion de segundo grado

2 Ajuste de curvas: regresion con MATLAB

3 Interpolacion con MATLAB

Page 3: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Topicos

1 Raıces de ecuaciones y polinomiosRaıces de la ecuacion algebraica y no linealRaıces de polinomiosRaıces de la ecuacion de segundo grado

2 Ajuste de curvas: regresion con MATLAB

3 Interpolacion con MATLAB

Page 4: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

MATLABMATLAB es capaz de localizar raıces en ecuacionesalgebraicas y trascendentes,MATLAB es excelente para la manipulacion y localizacionde raıces en los polinomios,MATLAB es capaz de ajustar curvas mediante polinomios.

Page 5: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

MATLAB

Funcion Descripcionfzero Raız de una sola funcionroots Encuentra raıces de polinomiospoly Construye polinomios con raıces especıficaspolyval Evalua un polinomiopolyvalm Evalua un polinomio con argumento matricialresidue Expansion de la fraccion-parcial (residuos)polyder Diferenciacion polinomialconv Multiplicacion de polinomiosdeconv Division de polinomios

Page 6: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion algebraica y no lineal

Funcion fzero

x = fzero(f, x0)

f : funcion anonima,x0 : intervalo,x : raız.

Page 7: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion algebraica y no lineal

Ejemplo: Solucion de una ecuacion algebraicaUtilice la funcion fzero de MATLAB para encontrar las raıcesde f(x) = x10 − 1.

Page 8: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion algebraica y no lineal

Solucion para la raız positiva

>> x0 = [0 1 . 3 ] ;

>> x = fzero (@( x ) xˆ10−1, x0 )

x =

1

Page 9: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion algebraica y no lineal

Solucion para la raız negativa

>> x0 = [−1.3 0 ] ;

>> x = fzero (@( x ) xˆ10−1, x0 )

x =

−1

Page 10: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion algebraica y no lineal

Ejemplo: Solucion de una ecuacion no linealUtilice la funcion fzero de MATLAB para encontrar las raıcesde f(x) = x e−x − 0.2.

Page 11: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion algebraica y no lineal

Solucion

clear ; clc ;fp lo t (@( x ) x .∗exp(−x ) −0.2 , [0 8 ] ) , grid on ;x1 = fzero (@( x ) x∗exp(−x ) −0.2 , [0 2 ] )x2 = fzero (@( x ) x∗exp(−x ) −0.2 , [2 7 ] )

Page 12: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion algebraica y no lineal

Solucion

Page 13: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion algebraica y no lineal

Solucion

x1 =

0.2592

x2 =

2.5426

Page 14: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de polinomios

Funcion roots

x = roots(p)

x vector columna con las raıces del polinomio,p vector fila con los coeficientes del polinomio,fn(x) = anx

n + an−1xn−1 + ...+ a1x+ a0 = 0,

p = [an an−1 ... a1 a0].

Page 15: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de polinomios

Ejemplo: PolinomiosAnalicemos como se emplea MATLAB para manipular ydeterminar las raıces de polinomios. Use la siguiente ecuacion:

f5(x) = x5 − 3.5x4 + 2.75x3 + 2.125x2 − 3.875x+ 1.25

Page 16: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de polinomios

>> a = [1 −3.5 2.75 2.125 −3.875 1 .25 ]a =

1.0000 −3.5000 2.7500 2.1250 −3.8750 1.2500

>> polyval ( a , 1 )ans =

−0.2500

>> polyder ( a )ans =

5.0000 −14.0000 8.2500 4.2500 −3.8750

>> roots ( a )ans =

2.0000−1.0000

1.0000 + 0.5000 i1.0000 − 0.5000 i0.5000

Page 17: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion de segundo grado

Ecuacion

f (x) = a x2 + b x+ c = 0

Esta ecuacion tiene solucion exacta.

Solucion

x1 =−b+

√b2 − 4ac

2a

x2 =−b−

√b2 − 4ac

2a

Page 18: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion de segundo grado

Solucion de la ecuacion con MATLAB

>> syms a b c x;

>> solve(a ∗ xˆ2 + b ∗ x+ c)

ans =

−(b+ (b2 − 4 ∗ a ∗ c)ˆ(1/2))/(2 ∗ a)−(b− (b2 − 4 ∗ a ∗ c)ˆ(1/2))/(2 ∗ a)

Page 19: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion de segundo grado

Solucion de la ecuacion con MATLAB

>> symsx;

>> a = 1; b = −3; c = 2;

>> solve(a ∗ xˆ2 + b ∗ x+ c)

ans =

1

2

Page 20: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion de segundo grado

Function en MATLAB

function [x] = fun(a,b, c)

x(1) = (−b+ sqrt(bˆ2− 4 ∗ a ∗ c))/2/a;x(2) = (−b− sqrt(bˆ2− 4 ∗ a ∗ c))/2/a;

end

M-file en MATLAB

a = input(′Deme el valor de a =′);

b = input(′Deme el valor de b =′);

c = input(′Deme el valor de c =′);

x = fun(a, b, c);

R = [’Las raices son: x1=’,num2str(x(1)),’ y x2=’,num2str(x(2))];

disp(R)

Page 21: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Raıces de la ecuacion de segundo grado

Solucion de la ecuacion con MATLAB

Deme el valor de a = 1

Deme el valor de b = −3Deme el valor de c = 2

Las raices son: x1 = 2 y x2 = 1

Page 22: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Topicos

1 Raıces de ecuaciones y polinomiosRaıces de la ecuacion algebraica y no linealRaıces de polinomiosRaıces de la ecuacion de segundo grado

2 Ajuste de curvas: regresion con MATLAB

3 Interpolacion con MATLAB

Page 23: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Funcion MATLAB polyfit

clear ; clc ;x =[1 2 3 4 5 6 7 ] ;y= [ 0 . 5 2.5 2.0 4.0 3.5 6.0 5 . 5 ] ;n=6 %2 , 3 , 4 , 5 , 6 , . . . .p= p o l y f i t ( x , y , n )xp= l inspace (min ( x ) ,max( x ) ,100) ;yp=polyval ( p , xp ) ;plot ( x , y , ’ o ’ , xp , yp )grid onxlabel ( ’ x ’ )ylabel ( ’ y ’ )

Page 24: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Ejemplo: n = 1

Page 25: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Ejemplo: n = 2

Page 26: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Ejemplo: n = 3

Page 27: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Ejemplo: n = 4

Page 28: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Ejemplo: n = 5

Page 29: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Ejemplo: n = 6

Page 30: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Topicos

1 Raıces de ecuaciones y polinomiosRaıces de la ecuacion algebraica y no linealRaıces de polinomiosRaıces de la ecuacion de segundo grado

2 Ajuste de curvas: regresion con MATLAB

3 Interpolacion con MATLAB

Page 31: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Funcion MATLAB polyfit

clear ; clc ;x =[1 4 6 ] ;y= [0 1.386294 1.791759] ;n=2p= p o l y f i t ( x , y , n )xp= l inspace (min ( x ) ,max( x ) ,100) ;yp=polyval ( p , xp ) ;yp2=log ( xp ) ;plot ( x , y , ’ o ’ , xp , yp , xp , yp2 , ’ : ’ )grid onxlabel ( ’ x ’ )ylabel ( ’ y ’ )

Page 32: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Ejemplo: n = 2

x0 = 1 f(x0) = 0x1 = 4 f(x1) = 1.386294x2 = 6 f(x2) = 1.791759

Page 33: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Ejemplo: n = 3

x0 = 1 f(x0) = 0x1 = 4 f(x1) = 1.386294x2 = 5 f(x2) = 1.609438x3 = 6 f(x3) = 1.791759

Page 34: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Funcion MATLAB interp1

clear ; clc ;x =[1 4 6 ] ;y= [0 1.386294 1.791759] ;xx=2y i = interp1 ( x , y , xx )

Sa l ida

y i = 0.4621

Page 35: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Funcion MATLAB spline

clear ; clc ;x =[1 4 6 ] ;y= [0 1.386294 1.791759] ;xx=2y i =spline ( x , y , xx )

Sa l ida

y i = 0.5658

Page 36: Programacion MATLAB:´ Ecuaciones, polinomios, …metodosnumericoscem.weebly.com/uploads/2/5/9/7/25971049/...beamer-tu-logo Ra´ıces de ecuaciones y polinomiosAjuste de curvas: regresion

beamer-tu-logo

Raıces de ecuaciones y polinomios Ajuste de curvas: regresion con MATLAB Interpolacion con MATLAB

Funcion MATLAB lineal y spline

x = 0: pi / 4 : 2∗ pi ;v = sin ( x ) ;xq = 0: pi /16 :2∗ pi ;vq1 = interp1 ( x , v , xq ) ;f igure ( 1 ) ; plot ( x , v , ’ o ’ , xq , vq1 , ’ : . ’ ) ;x l im ( [ 0 2∗pi ] ) ;t i t l e ( ’ ( De fau l t ) L inear I n t e r p o l a t i o n ’ ) ;

%vq2 = interp1 ( x , v , xq , ’ s p l i n e ’ ) ;f igure ( 2 ) ; plot ( x , v , ’ o ’ , xq , vq2 , ’ : . ’ ) ;x l im ( [ 0 2∗pi ] ) ;t i t l e ( ’ Sp l ine I n t e r p o l a t i o n ’ ) ;

%vq3 = spline ( x , v , xq ) ;f igure ( 3 ) ; plot ( x , v , ’ o ’ , xq , vq3 , ’ : . ’ ) ;x l im ( [ 0 2∗pi ] ) ;t i t l e ( ’ Sp l ine I n t e r p o l a t i o n ’ ) ;