Jumat, 10 Juni 2011

Tugas Alprokom Program Python Akar Bisection

Nomer 1.

from math import sqrt

def determinan(a,b,c):
D=b**2-4*a*c
return(D)
def akar1(a,b,c):
x1=(-b-sqrt(b**2-4*a*c))/2*a
return x1
def akar2(a,b,c):
x2=(-b+sqrt(b**2-4*a*c))/2*a
return x2
def bisection1(xa,xb,a,b,c):
i=0
while i<100:
i=i+1
xt=float(xa+xb)/2
y=a*xt**2+b*xt+c
if y>0:
xa=xa
xb=xt
if y<0:
xa=xt
xb=xb
print y,' ',xt
if abs(y)<10**(-6):
break
return (y,xt)
def bisection2(xa,xb,a,b,c):
i=0
while i<100:
i=i+1
xt=float(xa+xb)/2
y=a*xt**2+b*xt+c
if y<0:
xa=xa
xb=xt
if y>0:
xa=xt
xb=xb
print y,' ',xt
if abs(y)<10**(-6):
break
return (y,xt)
#==============================in
print 'f(x)=ax^2+bx+c'
a=input('a=')
b=input('b=')
c=input('c=')
xa=input('batas atas =')
xb=input('batas bawah=')
#==============================out
print'=================================eksak'
print 'x1=',akar1(a,b,c)
print 'x2=',akar2(a,b,c)
print'=============================bisection'
print' error_bisection akar1'
bisection1(xa,xb,a,b,c)
print' error_bisection akar2'
bisection2(xa,xb,a,b,c)



















Nomer 2.

from math import exp, sin
def bisection1(a,b):
i=0
while i<50:
i=i+1
x=round((a+b),11)/2
y=exp(x)*sin(2*x)-3.25
if y>0:
a=a
b=x
if y<0:
a=x
b=b

if abs(y)<10**(-6):
print '|',x,(15-len(str(x)))*' ','\t |',round(y,7)
break
return y,x

def bisection2(a,b):
i=0
while i<50:
i=i+1
x=round((a+b),11)/2
y=exp(x)*sin(2*x)-3.25
if y>0:
b=b
a=x
if y<0:
b=x
a=a

if abs(y)<10**(-6):
print '|',x,(15-len(str(x)))*' ','\t |',round(y,7)
break
return y,x
print 'f(x)=exp(x).sin(2x)-3.25'
print '========================'
b=input('Interval bawah:')
a=input('Interval atas :')
print '| x \t \t \t | f(x)'
bisection2(a,b)
bisection1(a,b)

Tidak ada komentar:

Posting Komentar