








Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Falsa posicion Matlab Metodos Numericos Metodos Numericos
Tipo: Exámenes
1 / 14
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!









Ingeniería Eléctrica
Manual del usuario
Tuxtla Gutiérrez, Chiapas; a 04 de Marzo de 2011.
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, el programa nos pedirá introducir una ecuación no lineal en función de la variable x. Escribimos la ecuación y presionamos ENTER.
En seguida, se solicitará un valor al lado izquierdo del punto de corte.
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, efectivamente haya una raíz.
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.
Si se elige la opción 2 el programa solicitara el número de iteraciones que desea realizar para obtener la raíz. Usted ingresa el numero deseado le da ENTER y el programa lleva a cabo el proceso, para después despliega una tabla y muestra una aproximación.
COMANDOS UTILIZADOS EN LA PROGRAMACION
end
El segundo caso (por numero de iteraciones), 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), y lo que sigue, los cálculos de xr se hacen como en el caso anterior. Como en el proceso didáctico de la utilización de este método se forma una tabla, utilizamos los comandos fprintf y disp para mostrar una tabla en pantalla los valores de xa, xr(x falsa),xb, f(xa), f(xr), f(xb) y et(error). También para comodidad del usuario, en elegir los puntos xa y xb, graficamos la función con el comando ezplot. 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'); syms x; f=input('Escriba la Función f(x)= ','s'); ezplot(f); grid on; fprintf('\nSe generó la gráfica de la función, revísela\n'); fprintf('\n::: Visualice un punto de corte de la gráfica de la función con el eje x :::\n\n'); xa=input('Deme un valor a la izquierda del punto de corte: '); xb=input('\nDeme un valor a la derecha del punto de corte: '); fprintf('\n\nDesea detener el proceso... '); fprintf('\n\n 1 Al alcanzar cierto porcentaje de error'); fprintf('\n 2 Por el número de iteraciones'); opcion=input('\n\nIntroduzca 1 ó 2: '); x=xa; fa=eval(f); x=xb; fb=eval(f); et=100; fm=0; switch opcion; case 1 e=input('\nPorcentaje de error deseado: '); ni=0; fprintf('\n ::::::::::::::: TABLA ::::::::::::::: \n'); fprintf('\n Iteración xa xr xb f(xa) f(xr) f(xb) Error \n\n'); while et>e; xr=xb-fb(xb-xa)/(fb-fa); x=xr; fr=eval(f); et=abs((fr-fm)/fr)100; disp([ni,xa,xr,xb,fa,fr,fb,et]) if fb*fr< xa=xr; fa=fr; else xb=xr;
fb=fr; end if et<e fprintf('\n>>> La raíz aproximada es: \n'); fprintf(' x= %d\n\n',xr) end ni=ni+1; fm=fr; end m=input('Desea calcular la raiz de otra ecuación, si(1) no(2):'); if(m==1); clc; clear all; close all; FALSAPOSICION; else clc; clear all close all; break end case 2 n=input('\nNumero de iteraciones a realizar: ') fprintf('\n ::::::::::::::: TABLA ::::::::::::::: \n'); fprintf('\n Iteración xa xr xb f(xa) f(xr) f(xb) Error \n\n'); for ni=0:n xr=xb-fb(xb-xa)/(fb-fa); x=xr; fr=eval(f); et=abs((fr-fm)/fr)100; disp([ni,xa,xr,xb,fa,fr,fb,et]) if fb*fr< xa=xr; fa=fr; else xb=xr; fb=fr; end fm=fr; if ni==n fprintf('\n>>> La raíz aproximada es: \n'); fprintf(' x= %d\n\n',xr) break end end m=input('Desea calcular la raiz de otra ecuación, si(1) no(2):'); if(m==1); clc; clear all; close all; FALSAPOSICION else clc; clear all close all; break end otherwise fprintf ('\n\nOpción no válida, VUELVA A CORRER EL PROGRAMA!!!\n\n'); end