codificaciÓn en matlab mÉtodos numÉricos para hallar la raÍz de una funciÓnmÉtodos numÉricos...

15
CODIFICACIÓN EN MATLAB CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA SOLUCIONAR SISTEMAS DE MÉTODOS NUMÉRICOS PARA SOLUCIONAR SISTEMAS DE ECUACIONES ECUACIONES MÉTODOS NUMÉRICOS PARA SOLUCIONAR DERIVADAS MÉTODOS NUMÉRICOS PARA SOLUCIONAR DERIVADAS MÉTODOS NUMÉRICOS PARA SOLCIONAR INTEGRALES MÉTODOS NUMÉRICOS PARA SOLCIONAR INTEGRALES MÉTODOS NUMÉRICOS PARA SOLUICONAR ECUACIONES MÉTODOS NUMÉRICOS PARA SOLUICONAR ECUACIONES DIFERENCIALES ORDINARIAS DIFERENCIALES ORDINARIAS

Upload: ramona-severo

Post on 06-Jan-2015

78 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

CODIFICACIÓN EN MATLABCODIFICACIÓN EN MATLAB

• MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN

• MÉTODOS NUMÉRICOS PARA SOLUCIONAR SISTEMAS DE MÉTODOS NUMÉRICOS PARA SOLUCIONAR SISTEMAS DE ECUACIONESECUACIONES

• MÉTODOS NUMÉRICOS PARA SOLUCIONAR DERIVADASMÉTODOS NUMÉRICOS PARA SOLUCIONAR DERIVADAS

• MÉTODOS NUMÉRICOS PARA SOLCIONAR INTEGRALESMÉTODOS NUMÉRICOS PARA SOLCIONAR INTEGRALES

• MÉTODOS NUMÉRICOS PARA SOLUICONAR ECUACIONES MÉTODOS NUMÉRICOS PARA SOLUICONAR ECUACIONES DIFERENCIALES ORDINARIASDIFERENCIALES ORDINARIAS

Page 2: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Algoritmo método de Algoritmo método de BisecciónBisección

Definir intervalos x1 y x2 mediante el método grafico

Determinar la raíz aproximada

X1/2=(x1+x2)/2

Evaluar las funcionesF(x1/2)*f(x1) 0 X1/2=X2

SÍNOX1/2=X1

Evaluar el errorE= abs(Xnew

–Xant)/Xnew*100

E 1x10-4

Imprimir X1/2

como la raíz

Final

SI

NO

Page 3: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Método de BisecciónMétodo de Bisección'METODO DE BISECCION'x1 =12; x2 =16; error=0.00001; iteracion=0; fxr=1; while abs(fxr)>error xr = (x1+x2)/2; fx1 = (667.38/x1)*(1-exp(-0.14*x1))-40; fxr = (667.38/xr)*(1-exp(-0.14*xr))-40; if (fxr*fx1) > 0; x1=xr; else x2=xr; end iteracion=iteracion+1; end syms x ezplot((667.38/x)*(1-exp(-0.14*x))-40,[10,20]) grid disp('la raíz es'), disp(xr) disp('el número de iteraciones es'), disp(iteracion)

Page 4: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Método Falsa PosiciónMétodo Falsa Posición

Definir intervalos x1 y x2 mediante el método grafico

Evaluar f(x1) y f(x2)Determinar la raíz

aproximada

Xr = X2

Evaluar el errorE= abs(Xnew –Xant)/Xnew*100

E 1x10-4

Imprimir Xr

como la raíz

Final

SI

NO

Page 5: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Método de Falsa Método de Falsa PosiciónPosición'METODO DE FALSA POSICION'

x1=12;x2=16;error=0.00001; iteracion=0; fxr=1; while abs(fxr)>error fx1=(667.38/x1)*(1-exp(-0.14*x1))-40; fx2=(667.38/x2)*(1-exp(-0.14*x2))-40; xr=x2-(fx2*(x1-x2)/(fx1-fx2)); fxr=(667.38/xr)*(1-exp(-0.14*xr))-40; x1=xr; x2=x2; iteracion=iteracion+1; end syms x ezplot((667.38/x)*(1-exp(-0.14*x))-40,[10,20]) grid disp('la raíz es'), disp(xr) disp('el número de iteraciones es'), disp(iteracion)

Page 6: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Método de la secanteMétodo de la secante'METODO DE LA SECANTE'x1=16;x2= x1-1;error=0.00001; iteracion=0; fxr=1; while abs(fxr)>error fx1=(667.38/x1)*(1-exp(-0.14*x1))-40; fx2=(667.38/x2)*(1-exp(-0.14*x2))-40; xr=x1-(fx1*(x2-x1)/(fx2-fx1)); fxr=(667.38/xr)*(1-exp(-0.14*xr))-40; x2=x1; x1=xr; iteracion=iteracion+1; end syms x ezplot((667.38/x)*(1-exp(-0.14*x))-40,[10,20]) grid disp('la raíz es'), disp(xr) disp('el número de iteraciones es'), disp(iteracion)

Page 7: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Método de Gauss SimpleMétodo de Gauss Simple'METODO DE GAUSS-SIMPLE'A=[-1.5,8,5,65;1,0.40,-3,-55;-8/3,5,-4,22]; B=A(1,:); C=A(2,:)-((A(2,1)/A(1,1))*B); D=A(3,:)-((A(3,1)/A(1,1))*B); A=[B;C;D] B=A(1,:); C=A(2,:); D=A(3,:)-((A(3,2)/A(2,2))*C); A=[B;C;D] Z=A(3,4)/A(3,3); Y=(A(2,4)-(A(2,3)*Z))/A(2,2); X=(A(1,4)-(A(1,3)*Z)-(A(1,2)*Y))/A(1,1); disp('la solucion del problema es:'),X,Y,Z

Page 8: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Método de Gauss SimpleMétodo de Gauss Simple'METODO DE GAUSS-JORDAN'A=[-1.5,8,5,65;1,0.40,-3,-55;-8/3,5,-4,22];

B=A(1,:)*1/A(1,1); C=A(2,:)-(A(2,1)*B); D=A(3,:)-(A(3,1)*B); A=[B;C;D]; C=A(2,:)*1/A(2,2); B=A(1,:)-(A(1,2)*C); D=A(3,:)-(A(3,2)*C); A=[B;C;D]; D=A(3,:)*1/A(3,3); B=A(1,:)-(A(1,3)*D); C=A(2,:)-(A(2,3)*D); A=[B;C;D]; X=A(1,4); Y=A(2,4); Z= A(3,4); disp('la solucion del problema es:'),X,Y,Z

Page 9: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Derivadas e Integrales AnalíticasDerivadas e Integrales Analíticas

DERIVADASDERIVADAS

diff('3*(x*y)^3') calcula la 1ra derivada analítica con respecto a ‘x’

diff('3*(x*y)^3',y) calcula la 1ra derivada analítica con respecto a ‘y’

diff('3*(x*y)^3',y,2) calcula la 2da derivada analítica con respecto a ‘y’

pretty(diff('3*(x*y)^3',x)) escribe la derivada analítica en forma de caligrafía

INTEGRALESINTEGRALES

int('3*(x*y)^3') calcula la integral analítica

pretty(int('3*(x*y)^3')) escribe la integral analítica en forma de caligrafía

Page 10: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Integral Definidas

int('3*(x)^3',2,5)

Derivadas en un punto

x = 2

eval(diff('3*(x)^3'))

Page 11: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Graficar derivadas e integralesGraficar derivadas e integrales

ezplot(diff('sin(y)'),[pi,2*pi])

ezplot(int('sin(y)'),[pi,2*pi])

ezplot(diff('3*x^3'),[2,22])

ezplot(int('3*x^3'),[2,22])

Page 12: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Ajuste de Datos e InterpolaciónAjuste de Datos e InterpolaciónGraficar los datos originales y fijar los coeficientes del

polinomiox=[0,1,2,3,4,5,6] valores de xy=[0,1,3.3,2.2,5.6,4.4,5.6] valores de yplot(x,y,'*') grafica los datos originalesa=polyfit(x,y,3) fija los coef. del polinomios de 3orden

Graficar el polinomio junto a los datos originales

x1=linspace(0,7,100); distribuye nuevos x1p1=polyval(a,x1); evalúa el polinomio de grado 3plot(x,y,‘-’,x1,p1) grafica el polinomio junto a los datos originales

Page 13: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

SOLUCION RAPIDA DE UN SISTEMA DE ECUACIONES SOLUCION RAPIDA DE UN SISTEMA DE ECUACIONES

1. Introducir la matriz solo de coeficientes de las variable

A=[1,2,3,4,5,6;7,8,9,12,2,3;4,5,6,7,8,9;0,15,3,4,5,6;7,8,9,1,3,23;2,4,5,7,8,9]A =

1 2 3 4 5 6 7 8 9 12 2 3 4 5 6 7 8 9 0 15 3 4 5 6 7 8 9 1 3 23 2 4 5 7 8 92. Introducir la matriz de los terminos dependientes C=[34;23;45;35;26;89]

C =

34 23 45 35 26 89

3. Calcular la matriz inverza de A con el producto del vector C

d=inv(A)*(C)

4. Obtención del vector resultante con x,y,z,w…d =

131.4239 10.1865 -317.0342 143.5286 -45.8198 81.3817

Page 14: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Solución analitica de ecuaciones diferenciales ordinarias ECDOSolución analitica de ecuaciones diferenciales ordinarias ECDO

dsolve('D2y + y =4‘,’x’) calcula la solución analítica de la ECDO Respuesta/ 4+C1*sin(x)+C2*cos(x)

solve('D2y + y =4','y(0)=1','Dy(0)=0‘,’x’) solución de ECDO con valores iniciales

Respuesta/ 4-3*cos(x)

Page 15: CODIFICACIÓN EN MATLAB MÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓNMÉTODOS NUMÉRICOS PARA HALLAR LA RAÍZ DE UNA FUNCIÓN MÉTODOS NUMÉRICOS PARA

Solución numérica de ECDOSolución numérica de ECDO

1. Archivo.m en donde se introduce la ecuacion ECDO

% archivo dy.m para solucionar una ECDOfunction yderivada = dy(t,y)yderivada = -2*y*t;2. En la plataforma de inicio de matlabyinicial=2;[t,y]=ode45('dy',[0,2],yinicial);plot(t,y)grid