You are on page 1of 10

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC

INTEGRANTES -> JOSE PABLO SANTIAGO CABRERA - > ERWIS MELCHOR PEREZ

MATERIA: METODOS NUMERICOS

PROFESOR: FELIPE BENITEZ DOMINGUEZ

TRABAJOS. RESOLUCION DE PROBLEMAS EN MATLAB

GRUPO 408

LICENCIATURA EN INFORMATICA

A 27 DE ABRIL DEL 2011, CD IXTEPEC. OAXACA.

METODOS DE BUSQUEDA INCREMENTAL Est dicho que estos tipos de mtodos de bsqueda son mejores que aplicar las tcnicas graficas. Por lo tanto haremos enfoque a dos tipos de mtodos de bsqueda incremental El Mtodo de Biseccin El Mtodo de la Falsa Posicin

Estos mtodos tienen la caracterstica de localizar un intervalo donde la funcin cambie de signo. Entonces la localizacin del cambio de signo se logra con ms exactitud al dividir el intervalo en varios subintervalos. De ah se investiga cada uno de estos subintervalos para encontrar el cambio de signo. Este proceso se repite y la aproximacin a la raz mejora cada vez ms en la medida que los intervalos se dividen en intervalos ms pequeos. PARA EL MTODO DE BISECCIN TENEMOS ESTE ALGORITMO. Paso1: Elija valores iniciales inferior, Xi y superior Xu. Que encierren la raz, de forma tal que la funcin cambie de signo en el intervalo. Esto se verifica comprobando que f(Xi) f(Xu)<0; Paso 2: Una aproximacin de la raz x, se determina mediante: Xi= (Xi+Xu) 2 Paso 3: Realice las siguientes evaluaciones para determinar en que subintervalo esta la raz:

a) si f(xi)f(xu)<0, entonces la raz se encuentra dentro del subintervalo inferior o


izquierdo. Por lo tanto, haga xu=xi y vuelva al paso 2. b) Si f(xi)f(xu)>0, entonces la raz se encuentra dentro del subintervalo superior derecho. Por lo tanto, haga xi=xr y vuelva al paso 2. c) Si f(xi)f(xu)=0, la raz es igual a xr; termina el calculo.

El presente algoritmo es del Mtodo de Biseccin o tambin conocido como el corte binario. El pseudpcodigo anterior fue implementado en el MATLAB para su futura

compilacin y verificacin de errores. De tal manera que se logro hacer cambios en el cdigo, como tal cdigo no mostr error alguno se aplicaron varios ejercicios donde probramos su aplicacin. Uno de ellos es el del problema del paracaidista donde desarrollara mas adelante. REPRESENTACIN DEL METODO DE BISECCION EN MATLAB. printf('\n Calculo de la raz de una ecuacin por mtodo de Biseccin\n\n'); y=input('INGRESE LA FUNCION: ','s'); xl=input('INGRESE EL INTERVALO INFERIOR X(i) : '); xu=input('INGRESE EL INTERVALO SUPERIOR X(s) : '); e=input('INGRESE EL PORCIENTO DE ERROR : '); xi=0; ea=100; c=0; %** SE VERIFICA QUE EL CALCULO DE LA RAIZ ESTE ENTRE EL %INTERVALO x=xl; a=eval(y); x=xu; b=eval(y); cc=a*b; if cc>0 fprintf('\n NO ES VALIDO NO EXISTE RAIZ ENTRE ESTE INTERVALO\n\n'); break end %SE IMPRIMEN LOS VALORES EN FORMA DE LISTA DENTRO DE UN CICLO fprintf('\n\n\tITERA.\t\tX(i)\t\t\tX(s)\t\t\tX(r)\t\t\tE(a)'); while ea>e xr=(xl+xu)/2; fprintf('\n\t%d \t\t%.5f \t\t%.5f \t\t%.5f',c,xl,xu,xr); x=xl; yl=eval(y); x=xr; yr=eval(y); ea=abs((xr-xi)/xr)*100; z=yl*yr; if z<0 xu=xr; end if z>0 xl=xr; end xi=xr; fprintf('\t\t\t\t%.5f',ea); c=c+1; end %SE IMPRIME EL RESULTADO FINAL FUERA DEL CICLO if ea<e fprintf('\n\n\n\nLA RAIZ APROXIMADA ES: %.5f',xr) fprintf('\n\nEL NUMERO DE ITERACIONES FUE: %d\n',c); end

Solucione los siguientes problemas por el mtodo de la diseccion. Problema 1 Determine el coeficiente de arrastre c necesario para que un paracaidista de masa m=68.1 Kg. tenga una velocidad de 40 m/s despus de una cada libre de t =10s. Nota la aceleracin de la gravedad es 9.8 m/(s*s). Con los valores iniciales en Xi=12; Xu=16; Solucin con el algoritmo.

Problema 2 Localice la raz de F(x)= (x^10)-1 Entre los valores de x(i)=0, x(s)=1.3.

PARA EL METODO DE LA FALSA POSICION El mtodo de la falsa posicin es uno de los ms usados para encontrar races en ciertos problemas que solo se pueden llegar a su resultado mediante aproximaciones. Este mtodo tiene la caracterstica de reducir ampliamente el intervalo que contiene a la raz mediante las iteraciones que se generan dentro del cdigo de este. Pseudocodigo para resolver por medio de la falsa posicin.
El mtodo de la regla falsa sigue los siguientes pasos:

Sea

continua,

i) Encontrar valores iniciales

tales que

tienen signos opuestos, es decir,

ii) La primera aproximacin a la raz se toma igual a:

iii) Evaluar

. Forzosamente debemos caer en uno de los siguientes casos:

En este caso, tenemos que encuentra en el intervalo .

tienen signos opuestos, y por lo tanto la raz se

En este caso, tenemos que

tienen el mismo signo, y de aqu que .

tienen signos opuestos. Por lo tanto, la raz se encuentra en el intervalo

En este caso se tiene que y por lo El proceso se vuelve a repetir con el nuevo intervalo, hasta que:

tanto

ya

localizamos

la

raz.

REPRESENTACIN DEL METODO DE FALSA POSICION EN MATLAB.


clear; clear Z fprintf('\t\t\t ECUACIONES POR EL METODO DE FALSA POSICION'); Salir=1; while Salir==1 %SE PIDE INGRESAR LA FUNCION EN CASO DE QUE ESTE MAL %ENVIARA UN MENSAGE DE ERROR Funcion=input('\n\nDIGITE LA FUNCION F(x): ','s'); if isempty(Funcion) fprintf('\t*** DEBE ESPECIFICAR LA FUNCION A LA CUAL DESEA HALLAR LAS RAICES ***'); else Salir=0; end end Salir=1; while Salir==1 %SE PIDE QUE INGRESE EL INTERVALO INFERIOR DENTRO DE UN %CICLO ESTARA ASI HASTA QUE INGRESE UN INTERVALO INFERIOR A=input('\nDIGITE EL VALOR DEL INTERVALO INFERIOR X(i): '); if isempty(A) fprintf('\t*** DEBE ESPECIFICAR EL INTERVALO MENOR X(i) ***\n'); else Salir=0; end end C=A-1; while C<=A Salir=1; while Salir==1 %SE PIDE QUE INGRESE EL INTERVALO SUPERIOR DENTRO DE UN %CICLO ESTARA ASI HASTA QUE INGRESE UN INTERVALO INFERIOR C=input('\nDIGITE EL VALOR DEL INTERVALO SUPERIOR X(s): '); if isempty(C) fprintf('\t*** DEBE ESPECIFICAR EL INTERVALO MAYOR X(s) ***\n'); else Salir=0; end end if (C<=A) fprintf('\t*** VALOR ERRONEO, NO PUEDE SER MENOR QUE %.2f ***\n',A); end end Salir=1; while Salir==1 % SE PIDE INGRESAR UN NUMERO DE ITERACIONES, SI EL NUMEROS % DE ITERACIONES ES MAYOR AL NUMERO DE ITERACIONES DE LA % SOLUCION SE CORTARA Y MOSTRARA EL RESULTADO HASTA LA % ITERACION DONDE ENCONTRO LA SOLUCION. N=input('\nDIGITE LA CANTIDAD DE ITERACIONES A EJECUTAR: '); if isempty(N) fprintf('\t*** DEBE ESPECIFICAR LA CANTIDAD DE ITERACIONES A RESOLVER ***\n'); else Salir=0; end end R=-1; while (R<=0 | R>100) Salir=1; while Salir==1 %SE PIDE INGRESAR EL MARGEN DE ERROR. R=input('\nDIGITE MARGEN DE ERROR E(t): '); if isempty(R) fprintf('\t*** DEBE ESPECIFICAR EL MARGEN DE ERROR ***\n'); else Salir=0; end end if (R<=0 | R>100)

fprintf('\t*** VALOR ERRONEO, NO PUEDE SER NEGATIVO O MAYOR QUE 100 ***\n'); end end Z(1,8)=101; I=1; Z(1,2)=A; Z(1,4)=C; Salir=1; while (Z(I,8)>=R & I<=N) Z(I,1)=I-1; x=Z(I,2); X=Z(I,2); Z(I,5)=eval(Funcion); x=Z(I,4); X=Z(I,4); Z(I,7)=eval(Funcion); if I==1 if Z(I,5)*Z(I,7)>0 fprintf('\t\t\t NO EXISTEN RAICES REALES EN EL INTERVALO DADO \n'); Salir=0; break; end end Z(I,3)=(Z(I,2)*Z(I,7) - Z(I,4)*Z(I,5))/(Z(I,7)-Z(I,5)); X=Z(I,3);x=Z(I,3); Z(I,6)=eval(Funcion); if Z(I,5)*Z(I,6)<0 Z(I+1,2)=Z(I,2); x=Z(I+1,2); X=Z(I+1,2); Z(I+1,5)=eval(Funcion); Z(I+1,4)=Z(I,3); x=Z(I+1,4); X=Z(I+1,4); Z(I+1,7)=eval(Funcion); elseif Z(I,6)*Z(I,7)<0 Z(I+1,2)=Z(I,3); x=Z(I+1,2); X=Z(I+1,2); Z(I+1,5)=eval(Funcion); Z(I+1,4)=Z(I,4); x=Z(I+1,4); X=Z(I+1,4); Z(I+1,7)=eval(Funcion); end Z(I+1,3)=(Z(I+1,2)*Z(I+1,7) - Z(I+1,4)*Z(I+1,5))/(Z(I+1,7)-Z(I+1,5)); if Z(I+1,3)~=0 Z(I+1,8)=abs((Z(I+1,3)-Z(I,3))/Z(I+1,3))*100; end I=I+1; end if Salir==1 fprintf('\n\n\tITERA.\t\tX(i)\t\t\tX(r)\t\t\tX(s)\t\t\tE(a)'); for J=1:I if J==1 fprintf('\n\t%d \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t------',J-1,Z(J,2),Z(J,3),Z(J,4)); else fprintf('\n\t%d \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f',J1,Z(J,2),Z(J,3),Z(J,4),Z(J,8)); end end fprintf('\n\n\tLA RAIZ APROXIMADA DE LA FUNCION INGRESADA ES: %.5f\n\n',Z(J,3)); end

Solucione los siguientes problemas por el mtodo de la falsa posicin. Problema 1 Determine el coeficiente de arrastre c necesario para que un paracaidista de masa m=68.1 Kg. tenga una velocidad de 40 m/s despus de una cada libre de t =10s. Nota la aceleracin de la gravedad es 9.8 m/(s*s). Con los valores iniciales en Xi=12; Xu=16; Solucin con el algoritmo.

Problema 2 Localice la raz de F(x)= (x^10)-1 Entre los valores de x(i)=0, x(s)=1.3.

You might also like