Escrito

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE CARRERA DE INGENIERIA MECANICA ´ ´ METODOS NUMERICOS Profesor: Ing. Jose Marci

Views 136 Downloads 8 File size 820KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

CARRERA DE INGENIERIA MECANICA ´ ´ METODOS NUMERICOS

Profesor: Ing. Jose Marcillo.

Integrantes:

• •

Buena˜ no Franco Paul Haro Fernando Tema: Deber del primer parcial

Sangolqui-Ecuador

Metodos Numericos

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Ejercicio 1 Considere la funci´ on f (x) = cosh(x) + cos(x) − γ, con γ = 1, 2, 3. Encuentre un intervalo que contenga un cero de f para cada valor de γ y calcule dicho cero con el m´ etodo de la bisecci´ on. Codigo en Matlab clc clear all y=input(’Ingrese la funcion:’,’s’); z=inline(y); es=-10:0.01:10; ezplot(z,es); grid on a=input(’Ingrese el primer valor del intervalo: ’); b=input(’Ingrese el segundo valor del intervalo: ’); tol=input(’Ingrese el valor de la tolerancia: ’); n=0; if z(a)*z(b)>0 error (’No existe raiz’); break end disp(’ n a b raiz error’) while (abs(a-b)>tol) n=n+1; r=((a+b)/2); error=abs(b-a); fprintf(’\t%d\t\t%2.4f\t\t%2.4f\t\t%2.6f\t\t%2.6f\n’,n,a,b,r,error) if z(r)==0 raiz=r; break elseif z(a)*z(r)0 error (’No existe raiz’) break end disp(’ n a b raiz error’) while (abs(a-b)>tol) n=n+1; r=((a+b)/2); error=abs(b-a); fprintf(’\t%d\t\t%2.4f\t\t%2.4f\t\t%2.6f\t\t%2.6f\n’,n,a,b,r,error) if y(r)==0 raiz=r; break end if y(a)*y(r)tol x1=x0-(y(x0)/dy(x0)); error=abs(y(x1)); n=n+1; fprintf(’\t%d\t\t%2.4f\t\t%2.4f\t\t%2.6f\n’,n,x0,x1,error) if dy(x0)==0 raiz=x1; break else x0=x1; end end raiz=x0; fprintf(’La raiz positiva es: %f\n’,a,raiz) fprintf(’El numero de iteraciones es: %d\n’,n);

Metodos Numericos

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Capturas de pantalla.

Metodos Numericos

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Ejercicio 4 Un proyectil es lanzado con velocidad inicial v0 y un ´ angulo α en unel de altura h. El q un t´ 2hg proyectil llega a su alcance m´ aximo cuando α es tal que sen(α) = donde g = 9, 8 sm2 es la v02 aceleraci´ on de la gravedad. Calcule α usando el m´ etodo de Newton, asumiendo que v0 = 10 m s y h = 1m Codigo en Matlab. clc clear all g=9.8 v0=10 h=1 tol=0.00001 x0=1; y=@(a)(((2.*g.*h)/(v0.^2)).^(1/2))-sin(a); dy=@(a)(-cos(a)); n=0; disp(’ n x0 x1 error’) while abs(y(x0))>tol x1=x0-(y(x0)/dy(x0)); error=abs(y(x1)); n=n+1; fprintf(’\t%d\t\t%2.4f\t\t%2.4f\t\t%2.6f\n’,n,x0,x1,error) if dy(x0)==0 raiz=x1; break else x0=x1; end end raiz=x0; fprintf(’El valor de a es: %f\n’,raiz) fprintf(’Las iteraciones son: %d\n’,n); Capturas de pantalla.

Donde a = α en radianes.

Metodos Numericos

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Ejercicio 2.7 Aplicando el m´ etodo de Newton encontrar el cero de la funci´ on: 1 1 f (x) = − ln(x) + e−x − 2 5 pr´ oximo al valor x0 = 1,5, iterando hasta que se cumpla que | xi − xi−1 |6 10−3 .

Codigo en Matlab.

clc clear all syms x y=input(’Ingrese la funcion: ’); y2=inline(y); y1=diff(y,x) y3=inline(y1); X0=input(’Ingrese X0: ’); tol=input(’Ingrese la tolerancia: ’); es=-10:01:10; ezplot(y2,es) grid on hold on fx0=feval(y2,X0); fx1=feval(y3,X0); n=0; disp(’ n x0 x1 error’) while abs(fx0)>tol X1=X0-(fx0)/(fx1); error=abs(fx1); n=n+1; fprintf(’\t%d\t\t%2.4f\t\t%2.4f\t\t%2.6f\n’,n,X0,X1,error) if fx1==0 raiz=X1; break else X0=X1; fx0=feval(y2,X0); fx1=feval(y3,X0); end end raiz=X0

Metodos Numericos

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Capturas de pantalla.

Metodos Numericos

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Ejercicio 2.9 Utilizando el m´ etodo de la bisecci´ on para la soluci´ on aproximada de ra´ıces, hallar la soluci´ on aproximada para la ecuaci´ on. 1/2 − 2x = 0 en el intervalo [0,5, 1] con una exactitud de 10−2 . Realizar los c´ alculos con 4 decimales significativos correctos. Codigo en Matlab. clc clear all y=input(’Ingrese la funci´ on:’,’s’); y1=inline(y); es=-10:0.01:10; ezplot(y1,es); grid on a=input(’Ingrese a: ’); b=input(’Ingrese b ’); tol=input(’Ingrese la tolerancia: ’); n=0; if y1(a)*y1(b)>0 error (’No existe raiz’); break end disp(’ n a b raiz error’) while (abs(a-b)>tol) n=n+1; r=((a+b)/2); error=abs(b-a); fprintf(’\t%d\t\t%2.4f\t\t%2.4f\t\t%2.6f\t\t%2.6f\n’,n,a,b,r,error) if y1(r)==0 raiz=r; break elseif y1(a)*y1(r)tol X1=X0-(fx0)/(fx1); error=abs(fx1); n=n+1; fprintf(’\t%d\t\t%2.4f\t\t%2.4f\t\t%2.6f\n’,n,X0,X1,error) if fx1==0 raiz=X1; break else X0=X1; fx0=feval(y2,X0); fx1=feval(y3,X0); end end raiz=X0

Metodos Numericos

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Capturas de pantalla.

Metodos Numericos

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Ejercicio a Resuelva el ejercicio xlog(x) − 10 = 0, por el metodo de la secante. Codigo en Matlab.

clear all; clc; f=input(’Ingrese la funcion f(x) : ’,’s’); x0=input(’Ingrese el intervalo inferior de x : ’); x1=input(’Ingrese el intervalo superior de x : ’); e=input(’Ingrese la tolerancia : ’); ea=1000; c=1; while ea>e x=x0; g=eval(f); x=x1; gg=eval(f); xi=x1-((gg*(x0-x1))/(g-gg)); ea=abs((xi-x1)/xi)*100; x0=x1; x1=xi; c=c+1; end fprintf(’\n\n\n\nLa raiz exacta es: %d’,xi) fprintf(’\n\nNumero de iteraciones: %d\n’,c); Capturas de pantalla.

Metodos Numericos