

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
codigo de matlab Metodos numericos
Tipo: Apuntes
1 / 2
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!


% Programa para cálculo de Raíces de Ecuaciones no Lineales % Método de Bisección
clear all; % Limpia la memoria
% Ingresar la función, intervalo de evaluación y porcentaje de error.
fprintf('\nCálculo de la raíz de una ecuación por el método de Bisección\n\n'); Y=input('Dame la función : ','s'); Xa=input('Dame el intervalo inferior : '); Xb=input('Dame el intervalo superior : '); error=input('Dame el porciento del error : ');
% Determinar si en el intervalo entre [Xa,Xb] está comprendida la raíz de la ecuación x=Xa; Ya=eval(Y); % f(Xa)
x=Xb; Yb=eval(Y); % f(Xb)
if (Ya*Yb)> fprintf('\n\n No existe una raíz en intervalo [Xa,Xb] \n\n'); fprintf('\Execute de nuevo el programa, por favor.\n\n'); break end
% Se realizan los cálculos para determinar la raíz en la siguiente sección. fprintf('\n\n') disp(' N Xa Xb Xr F(Xa) F(Xb) F(Xr) Error '); disp ('|---|-----------------|------------------|-------------------|-------------------|------------------|------------- -------|-----------');
Xant=0; % X anterior N=0; % Contador de Iteraciones while N< Xr=(Xa+Xb)/2; Xact=Xr; % X actual x=Xr; Yr=eval(Y);
Ea=abs((Xact-Xant)/Xact)*100; % Cálculo del Error
fprintf('%4d %17.8g %17.8g %17.8g %17.8g %17.8g %17.8g %10.5g \n', N, Xa, Xb, Xr, Ya, Yb, Yr, Ea);
% Impresión de los Resultados if Ea<error fprintf('\n\n La Raíz Exacta es: %d',Xr) fprintf('\n\n Número de iteraciones: %d \n\n',N); break
end
% Se determina el nuevo intervalo de evaluación if (YaYr)< Xb=Xr; elseif (YaYr)== fprintf('\n\n La raíz exacta es: %17.8g',Xr) fprintf('\n\n Número de iteraciones: %d',N); break else Xa=Xr; end Xant=Xr; N=N+1; end