Programacion MATLAB:´ Ecuaciones, polinomios,...

Post on 18-May-2018

247 views 1 download

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

beamer-tu-logo

Programacion MATLAB:Ecuaciones, polinomios, regresion e

interpolacion.

Curso: Metodos Numericos en IngenierıaProfesor: Dr. Jose A. Otero HernandezCorreo: j.a.otero@itesm.mxweb: http://metodosnumericoscem.weebly.comUniversidad: ITESM CEM

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

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

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.

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

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.

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.

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

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

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.

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

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

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

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].

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

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

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

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)

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

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)

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

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

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

beamer-tu-logo

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

Ejemplo: n = 1

beamer-tu-logo

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

Ejemplo: n = 2

beamer-tu-logo

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

Ejemplo: n = 3

beamer-tu-logo

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

Ejemplo: n = 4

beamer-tu-logo

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

Ejemplo: n = 5

beamer-tu-logo

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

Ejemplo: n = 6

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

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

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

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

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

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

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 ’ ) ;