Método de la falsa posicion

Embed Size (px)

Citation preview

Mtodo de la falsa posicinEste mtodo es parecido al de la biseccin solo que en la biseccin x esta en el centro mientras que en falsa posicin x es el valor donde la recta que pasa por los puntos [, ()] y [, ()] toca el eje de las x. Usando tringulos semejantes, la interseccin de la lnea recta con el eje de las x puede ser estimada como: (1)El valor calculado de reemplaza a uno de los valores de o que produzca un valor de la funcin que tenga el mismo signo de . De esta manera los valores de y siempre encierran a la raz. El proceso se repite hasta que la aproximacin a la raz sea la adecuada. Ejemplo: Con la ecuacin siguiente encontrar la raz con valores iniciales: Paso 1Evaluar en la funcin los valores de y . = 1 = -0.6321Paso 2 Sustituir los valores en la frmula 1.

Paso 3 Evaluar en la funcin y el signo que se obtiene de la evaluacin (, se compara con las evaluaciones de y . Dependiendo del signo se sustituir para ser nueva o .

Es negativo por lo tanto: = -0.6321 Tanto como tienen signo negativo por lo tanto pasa a ser nuestro nuevo As continuamos realizando el experimento hasta tener nuestro objetivo un error menor a 1%.Paso 4 Continuamos realizando la iteracin, para saber que error tenemos al momento tendremos que realizar la segunda iteracin para compararla con la primera.

Evaluamos y = 1 = Sustituimos en la ecuacin:

Evaluamos :

Como se observa vuelve a ser nuestra nueva .Paso 5Ahora se ya con dos iteraciones se proceder a calcular el error. La ecuacin para estimar el error es la siguiente:

Entonces:

El error aun no es menor al 1% as que hay que volver a hacer una iteracin mas.

Evaluamos y = 1 = Sustituimos en la ecuacin:

Evaluamos :

Como se observa vuelve a ser nuestra nueva . Ahora se proceder al clculo del error.

En esta iteracin se llego al error que buscbamos por lo tanto aqu termina el mtodo.

Nota: El mtodo variara, dependiendo del error que busque el experimentador. Instructivo.1. Una vez que esta iniciado el MATLAB. 2. Es necesario abrir el Script con el nombre de FALSAPOSICION.m3. El usuario deber seleccionar la opcin Run. 4. El usuario deber ingresar los valores iniciales. Ingresar el valor de , , el error deseado, las funciones tanto para como para .

5. Despus de haber ingresado las variables solicitadas el usuario dar enter, y se desplegara el mtodo iterativo de la falsa posicin, el programa desplegara una tabla con los valores como sigues a continuacin.

6. La tabla desplegara toda la informacin, lo nico que har el usuario es verificar la informacin que se busca. Y para finalizar se desplegaran el numero de iteraciones que se realizaron y el error que se obtuvo:

Limitaciones.El programa se limita a lo siguiente: Converge lentamente hacia la solucin. Uno de los extremos tiende a no modificarse.

Cdigo del Programa. clearclc fprintf('-------------------------------------------------------------------------------------------\n\n')fprintf(' DATOS INICIALES \n\n')fprintf('-------------------------------------------------------------------------------------------\n\n')xl=input(' INGRESE EL xl: ');xu=input(' INGRESE EL xu: ');ec=input(' PORCENTAJE DE ERROR DE APROXIMACION: ');l=input(' INGRESE LA FUNCIN (xl): ','s');u=input(' INGRESE LA FUNCIN (xu): ','s');fprintf(' \n')fprintf('-------------------------------------------------------------------------------------------\n\n') i=1;ee=120; while ee>ec i=i+1; ffxl=l; fxl(i)=eval(l); xlr(i)=xl; ffxu=u; fxu(i)=eval(u); xur(i)=xu; xr(i)=xu-((fxu(i)*(xl-xu))/(fxl(i)-fxu(i))); xr=xr(i); fxr(i)=exp(-xr)-xr; fxr=fxr(i); xc=fxl(i)*fxr; if xc0 xl=xr; end e(i)=xr; ee(i)=(abs((e(i)-e(i-1))/e(i)))*100;enda=[-1:1:i];j=1;fprintf('-------------------------------------------------------------------------------------------\n\n')fprintf(' MTODO DE LA FALSA POSICIN \n\n')fprintf('-------------------------------------------------------------------------------------------\n\n')fprintf(' ITERACIN F(xl) xl xr xu F(xu) ERROR \n\n')for j=j+1:i fprintf(' %g %10.4f %10.4f %10.4f %10.4f %10.4f %10.2f\n\n',a(j),fxl(j),xlr(j),e(j),xur(j),fxu(j),ee(j));endfprintf('-------------------------------------------------------------------------------------------\n\n')fprintf('-------------------------------------------------------------------------------------------\n\n')fprintf(' RESULTADO DEL PROBLEMA \n\n')fprintf('-------------------------------------------------------------------------------------------\n\n')fprintf(' NMERO DE APROXIMACIN PORCENTAJE \n')fprintf(' ITERACIN DE Xr DE ERROR \n\n')fprintf(' %g %10.4f %10.2f\n\n',a(j),e(j),ee(j));fprintf('-------------------------------------------------------------------------------------------\n')

Xl, Xu, ec, l, uInicio

Diagrama de Flujo

SiNoEncontrar el valor 0 Cambiar los renglones