Download presentation

Presentation is loading. Please wait.

Published byJacob Knight Modified over 2 years ago

1
exemplos

2
Algoritmos – bisseção

3
TolFun = eps; fa = feval(f,a); fb = feval(f,b); if fa*fb > 0, error ('Devemos ter f(a)*f(b)<0 !'); end %metodo da bissecao while (flag == 0) k = k+1; xx(k) =.5*(a+b); fx = feval(f,xx(k)); if fx*fa>0, a = xx(k); fa = fx; else b = xx(k); end err = abs(.5*(a-b)); if (err < TolX | abs(fx) < TolFun | k == MaxIter) flag = 1; if k == MaxIter disp('Numero maximo de iteracoes foi excedido!!!!') end x = xx(k); function [x,err,xx] = bisct(f,a,b,TolX,MaxIter) %function [x,err,xx] = bisct(f,a,b,TolX,MaxIter) % resolve f(x) = 0 usando o metodo da bissecao % input : f, [a,b] = funcao e intervalo de busca % TolX = tolerancia, ou seja, TolX >|x(k) - x(k-1)| % MaxIter = numero maximo de iteracoes %output : x = ponto fixo (solucao) % err = ultimo de |x(k) - x(k-1)| % xx = historico de x if nargin < 5, MaxIter = 100; end if nargin < 4, TolX = 1.0e-6; end flag = 0; k = 0;

4
Algoritmos – newton-raphson

5
function [x,err,xx] = newton(f,x0,TolX,MaxIter) if nargin < 4, MaxIter = 100; end if nargin < 3, TolX = 1.0e-6; end dx = 1e-4; flag = 0; TolFun = eps; k = 1; xx(k) = x0; %metodo de newton while (flag == 0) k = k+1; fun = feval(f,x0); dfun = (feval(f,x0+dx)-fun)/dx; xx(k) = x0 - fun/dfun; fx = feval(f,xx(k)); err = abs(xx(k)-x0); x0 = xx(k); if (err < TolX | abs(fx) < TolFun | k == MaxIter) flag = 1; if k == MaxIter disp('Numero maximo de iteracoes foi excedido!!!!') end x = xx(k);

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google