P. 1
Falsa Posicion Con Matlab

Falsa Posicion Con Matlab

5.0

|Views: 3.111|Likes:
Publicado porAntonio Robles

More info:

Published by: Antonio Robles on Nov 13, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

08/21/2013

pdf

text

original

INSTITUTO TECNOLÓGICO DE TUXTLA GUTIÉRREZ

Ingeniería Eléctrica

Métodos Numéricos
MC. Mario Alberto de la Cruz Padilla

MÉTODO DE LA FALSA POSICION CON MATLAB
Manual del usuario
Por: Beltrán Gutiérrez Julio Sinuhé Jiménez Morales Rodolfo Lara Jiménez José David Robles González Antonio de Jesús Sánchez Alegría Avisaí.

Tuxtla Gutiérrez, Chiapas; a 04 de Marzo de 2011.

el programa nos pedirá introducir una ecuación no lineal en función de la variable x. Escribimos la ecuación y presionamos ENTER.CÁLCULO DE LA RAÍZ DE UNA ECUACIÓN POR EL MÉTODO DE LA FALSA POSICION USANDO MATLAB. Se realizó un programa en MATLAB que nos permitirá conocer la raíz de una ecuación no lineal empleando el método de la falsa posición. Al iniciar. .

.Después de esto se mostrara en pantalla la gráfica de dicha función. Será necesario detectar un punto de corte de la gráfica en el eje “x” (visualizar una posible raíz).

.En seguida. se solicitará un valor al lado izquierdo del punto de corte.

efectivamente haya una raíz.Posteriormente le solicitara un valor a la derecha del punto de corte. . La grafica es necesaria para así tener la certeza de que entre medio de los puntos dados.

y tecleando 2 se calculará por cierto número de iteraciones. Deberá elegir una de estas dos opciones: Al teclear 1 la raíz se aproximará por cierto porcentaje de error. esto para detener el proceso de cálculo de la raíz. .En seguida se mostrara un menú con dos opciones. ya sea al alcanzar un porcentaje de error o por el número de iteraciones que el usuario desee.

Si se elige la opción 1 el programa le pedirá introducir un porcentaje de error deseado. Al llegar a este porcentaje el programa detendrá las operaciones y mostrara en pantalla una tabla de los cálculos realizados por este método y debajo de ésta una aproximación de la raíz. .

Usted ingresa el numero deseado le da ENTER y el programa lleva a cabo el proceso.Si se elige la opción 2 el programa solicitara el número de iteraciones que desea realizar para obtener la raíz. . para después despliega una tabla y muestra una aproximación.

Al final del proceso. de lo contrario elegir 2 para salir y regresar a la pantalla de comandos. . el programa solicitará que se elija una opción: si desea calcular la raíz de otra ecuación debe elegir la opción 1.

z. input(´Dame un valor’): Este comando se utiliza para pedir al usuario un dato de entrada. fprintf(‘Hola mundo’): Es parecido al comando disp. syms x. eval(f): Evalúa la función que se escribe dentro de los paréntesis. . su sintaxis es la siguiente. . case constanteN : //Bloque de instrucciones N break. además permite visualizar el texto que se escribe dentro de los apóstrofes. ezplot(f): Grafica la función(simbólica) que se escribe dentro de los paréntesis. sirve para hacer una estructura selectiva múltiple.COMANDOS UTILIZADOS EN LA PROGRAMACION • disp(‘Hola mundo’): Permite al usuario visualizar el texto o datos de un programa que se escriben entre los apóstrofes. otherwise: // Opcional // Bloque de instrucciones N+1 • • • • • • . case constante2 : // Bloque de instrucciones 2 break. switch ( variable ) case constante1 : // Bloque de instrucciones 1 break.y. . la diferencia está en que este comando tiene mas posibilidades de visualización gráfica. swith: Instrucción de programación.etc: Sirve para que Matlab reconozca a las letras como variables(símbolos).

if expresión condicional Acciones si la expresión resulta ser verdadera. Su estructura de programación es la siguiente. Se estructura es la siguiente. else Acciones si la expresión resulta ser falsa. es utilizada para ejecutar un bloque de sentencias un número fijo de veces. si esta es verdadera (diferente de cero). evalúa una condición (expresión condicional. end • for: instrucción de programación. for declaración o iniciación de la(s) variable(s) : condición(es): incremento(s) // Proceso(s). evalúa una condición (expresión). lógica o aritmética) y ejecuta instrucción(es) si la condición se cumple o no. La sintaxis de su construcción es la siguiente. end • • clc: Limpia la pantalla de comandos de matlab.} clear all: Borra la memoria de matlab. . entonces ejecuta el o los procesos nuevamente (y así sucesivamente mientras que sea verdadera). while condición // Proceso(s). end • while: Instrucción de programación. que es igual a valor final menos el valor inicial dividido (ambos) entre el incremento. se da por terminado el proceso iterativo. en caso contrario.end • if-else: Instrucción de programación.

Dentro de esta condición. después calculamos un nuevo error. Si no se encuentra en esta condición entonces hacemos un proceso para que la nueva xb tenga el valor de xr. calculamos xr(x falsa). .xb]. es decir et deja de ser 100. y así completamos la primera iteración. lógicamente no es necesario calcular la nueva fb porque si xb tomará el valor xr la evaluación de fb será la misma fxr. si se encuentra en la primera condición hacemos un proceso para que la nueva xa valga xr. porque sabemos que si el producto de f(xb)*f(xr)<0 la raíz se encuentra en [xr. LÓGICA UTILIZADA EN LA PROGRAMACIÓN Utilizamos el comando de programación switch para hacer un menú de opciones en el cual nos dé la opción de detener el proceso ya sea por un porcentaje de error deseado o por un determinado número de iteraciones. lo mismo sucede con xb. esto es suficiente para calcular la nueva xr y completar esta iteración. Seguimos con la condición while et>e. Después asignamos un valor de uno a fm igual a cero para que en el primer cálculo del error sea 100%. lo mismo sucede con la siguiente iteración si se cumple la condición hasta que et (error de iteración) se mayor que la proporcionada por el usuario e. y lógicamente un proceso donde la nueva fa sea igual a fr. xa es el punto de corte hacia la izquierda y xb el de la derecha después hacemos un proceso en el xa se igual a x y le pedimos a matlab que evalué la función respecto a ese valor. es decir el usuario elige que tan cerca o lejos quiere llegar al resultado. ó si el producto de f(xb)*f(xr)>0 la raíz se encuentra en el intervalo [xa.xr]. Esta es la parte fundamental del programa. después igualamos a x para poder evaluarla. porque este método (falsa posición) permite hacerlo de esa manera. esto es porque el máximo porcentaje de error entrada e permitido es de 100 y principalmente para que el proceso continúe o no. a esa evaluación la llamamos fr. Ahora para nuevos valores de xa y xb en la siguiente iteración utilizamos una condición if. . donde al principio de esta ciclo et tiene un valor de 100. lo mismo sucede con la condición anterior. Para el primer caso (porcentaje de error deseado).• close all: Cierra todas las ventanas secundarias que se abren durante un proceso tales como la de traficación. hasta aquí fb y xb sigue siendo las mismas.

x=xa. en elegir los puntos xa y xb. revísela\n').xb. fr=eval(f).'s').xb. '). graficamos la función con el comando ezplot. fm=0. utilizamos los comandos fprintf y disp para mostrar una tabla en pantalla los valores de xa. También para comodidad del usuario. fb=eval(f). fprintf('\n\n 1 Al alcanzar cierto porcentaje de error'). else xb=xr. xa=input('Deme un valor a la izquierda del punto de corte: ').fr. f=input('Escriba la Función f(x)= '. grid on.et]) if fb*fr<0 xa=xr. switch opcion. f(xb) y et(error). xr(x falsa). ... disp([ni. xr=xb-fb*(xb-xa)/(fb-fa). ni=0. opcion=input('\n\nIntroduzca 1 ó 2: '). ezplot(f). fprintf('\n Iteración xa xr xb f(xa) f(xr) f(xb) Error \n\n'). los cálculos de xr se hacen como en el caso anterior. case 1 e=input('\nPorcentaje de error deseado: '). y lo que sigue.xa. f(xa). while et>e.fa.xr. x=xr. fprintf('\n\nDesea detener el proceso. fprintf('\n ::::::::::::::: TABLA ::::::::::::::: \n').El segundo caso (por numero de iteraciones). x=xb. en lugar de un ciclo while utilizamos una condición for para para que realice el proceso desde ni (numero de iteraciones)=0 hasta n(numero de iteraciones proporcionada por el usuario). Como en el proceso didáctico de la utilización de este método se forma una tabla. syms x. fprintf('\n 2 Por el número de iteraciones'). CÓDIGO DE PROGRAMACIÓN EN MATLAB: fprintf('\nCÁLCULO DE LA RAÍZ DE UNA ECUACIÓN NO LINEAL POR EL MÉTODO DE LA FALSA POSICION\n\n').fb. et=100. fprintf('\n::: Visualice un punto de corte de la gráfica de la función con el eje x :::\n\n'). et=abs((fr-fm)/fr)*100. fprintf('\nSe generó la gráfica de la función. fa=fr. f(xr). fa=eval(f). xb=input('\nDeme un valor a la derecha del punto de corte: ').

FALSAPOSICION else clc. if(m==1). clc. m=input('Desea calcular la raiz de otra ecuación. si(1) no(2):'). end if et<e fprintf('\n>>> La raíz aproximada es: \n'). close all. fprintf(' x= %d\n\n'. end fm=fr. if(m==1).xr) break end end m=input('Desea calcular la raiz de otra ecuación.xr. break end otherwise fprintf ('\n\nOpción no válida.fr. fprintf('\n Iteración xa xr xb f(xa) f(xr) f(xb) Error \n\n'). x=xr.end fb=fr. fb=fr. disp([ni. clear all close all. fa=fr.xr) end ni=ni+1. VUELVA A CORRER EL PROGRAMA!!!\n\n'). clear all. clear all. fm=fr. close all. clc. FALSAPOSICION. for ni=0:n xr=xb-fb*(xb-xa)/(fb-fa). if ni==n fprintf('\n>>> La raíz aproximada es: \n'). et=abs((fr-fm)/fr)*100. else clc. si(1) no(2):').xa. break end case 2 n=input('\nNumero de iteraciones a realizar: ') fprintf('\n ::::::::::::::: TABLA ::::::::::::::: \n'). fprintf(' x= %d\n\n'. clear all close all. fr=eval(f). end .xb.fb. else xb=xr.et]) if fb*fr<0 xa=xr.fa.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->