Está en la página 1de 2

Tarea 1) modifique el programa biseccion para que la funcion no sea

incorporada dentro del programa

biseccion (a,b,f)

>> f=inline('1 + 2.*x - 3.*x.^2.*exp(-x) + 2.*x.^3.*sin(x).*exp(-x./5)')

f =

Inline function:
f(x) = 1 + 2.*x - 3.*x.^2.*exp(-x) + 2.*x.^3.*sin(x).*exp(-x./5)

>> f(1)

ans =

3.2742

>> fzero(f,3.2)

ans =

3.3138

Metodo de la falsa posicion

function[Cero,Mat] = ReglaFalsa(a,b);
Err = 1; % Inicializa el error para ingresar al ciclo iterativo.
tol = 1e-5; % Tolerancia especificada para la convergencia.
c = 0; % Inicializa el contador de iteraciones.
while Err > tol & c < 30
% Valor de la funci�n al inicio del intervalo.
fa = 1 + 2.*a - 3.*a.^2.*exp(-a) + 2.*a.^3.*sin(a).*exp(-a./5);
% Valor de la funci�n al final del intervalo.
fb = 1 + 2.*b - 3.*b.^2.*exp(-b) + 2.*b.^3.*sin(b).*exp(-b./5);
% Punto de cruce de la recta entre los puntos [a,f(a)] y [b,f(b)].
h = a - fa*(b-a)/(fb-fa);
% Valor de la funci�n en el punto de cruce.
fh = 1 + 2.*h - 3.*h.^2.*exp(-h) + 2.*h.^3.*sin(h).*exp(-h./5);
% Contador de iteraciones para no dejar en un ciclo el programa en caso de alguna
% inconsistencia.
c = c + 1;
% Matriz que almacena los resultados de cada iteraci�n.
Mat(c,:) = [a fa b fb h fh];
% Discriminante para determinar el nuevo intervalo.
disc = fh*fa;
% El cruce por cero cumple con el criterio de error.
if abs(disc) <= tol
Err = 0;
Cero = h;
% Definici�n del nuevo intervalo al no cumplir el criterio de error.
elseif disc > tol
a = h;
b = b;
% Definici�n del nuevo intervalo al no cumplir el criterio de error.
elseif disc < tol
a = a;
b = h;
end
Err = abs(disc); % Criterio de error.
end
%02 Gutierrez.indd 49 2/4/10 7:27:48 PM www.FreeLibros.me
%50 CAP�TULO 2 Soluci�n de ecuaciones no lineales
% Cruce por cero que determina el m�todo de regla falsa o falsa posici�n.
Cero = h;

>> ReglaFalsa(3,4)

ans =

3.3138

>> [z,w]=ReglaFalsa(3,4)

z =

3.3138

w =

3.0000 9.8380 4.0000 -35.4060 3.2174 3.5385


3.2174 3.5385 4.0000 -35.4060 3.2885 0.9714
3.2885 0.9714 4.0000 -35.4060 3.3075 0.2443
3.3075 0.2443 4.0000 -35.4060 3.3123 0.0600
3.3123 0.0600 4.0000 -35.4060 3.3135 0.0147
3.3135 0.0147 4.0000 -35.4060 3.3137 0.0036
3.3137 0.0036 4.0000 -35.4060 3.3138 0.0009

>>

También podría gustarte