Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Falsa posicion Matlab Metodos Numericos, Exámenes de Métodos Numéricos

Falsa posicion Matlab Metodos Numericos Metodos Numericos

Tipo: Exámenes

2017/2018

Subido el 06/06/2018

anyel_vamp
anyel_vamp 🇻🇪

4.7

(3)

1 documento

1 / 14

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
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.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Vista previa parcial del texto

¡Descarga Falsa posicion Matlab Metodos Numericos y más Exámenes en PDF de Métodos Numéricos solo en Docsity!

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.

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, 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

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

end

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

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