map214a.py
""" Programa para ilustrar o metodo da dicotomia para zeros de funcoes Material do curso Map0214 calculo numerico com apliacaoes em fisica """ from math import * def bissec(f, a, b, n): """ Calcula n iteracoes do biseccao """ x0,x1=a,b count=n while count > 0: raiz = 0.5*(x0+x1) print "%12.8f | %12.8f | %10.5f | %3i " %(x0,x1,f(x0)*f(raiz),count) if f(x0)*f(raiz) < 0 : x1=raiz elif f(x0)*f(raiz)>0: x0=raiz else : break count=count-1 return raiz f= lambda x: x**6 -x -1 a,b=1.,2. n=100 if f(a)*f(b)<0: raiz=bissec(f,a,b,n) print " A raiz de f(x) eh ", raiz else: print "Nao da pra usar o metodo"
Última atualização: segunda, 1 março 2010, 21:26