Estou fazendo um código para calcular o ponto de bolha de uma mistura binaria, usando o método de bisseção. Estou com alguns problemas, esse código demora pra pedir as entradas e não retorna nenhuma resposta. Alguém poderia me dizer onde estou errando?
#calculo da temperatura do ponto de bolha
#função objetivo: F=0.55*(exp(14.5463-(2940.46/T-237.22)))+0.45*(exp(14.2724-(2945.47/T-224.0)))-65
import math
a=int(input('a:'))
b=int(input('b:'))
erro=10
while abs(erro)>0.1:
c=(a+b)/2
y1=(760 - 0.5*(math.exp(-3848.0840/a + 17.5318) + math.exp(-4328.1150/a + 17.9134)))
y2=(760 - 0.5*(math.exp(-3848.0840/c + 17.5318) + math.exp(-4328.1150/c + 17.9134)))
if y2==0:
print(c)
elif y1*y2<0:
b=c
else:
a=c
erro=y2
print('O valor da raiz é: {:.2f}'.format(c))
Pergunta
Lucas Ferreira Loz
Estou fazendo um código para calcular o ponto de bolha de uma mistura binaria, usando o método de bisseção. Estou com alguns problemas, esse código demora pra pedir as entradas e não retorna nenhuma resposta. Alguém poderia me dizer onde estou errando?
#calculo da temperatura do ponto de bolha
#função objetivo: F=0.55*(exp(14.5463-(2940.46/T-237.22)))+0.45*(exp(14.2724-(2945.47/T-224.0)))-65
import math
a=int(input('a:'))
b=int(input('b:'))
erro=10
while abs(erro)>0.1:
c=(a+b)/2
y1=(760 - 0.5*(math.exp(-3848.0840/a + 17.5318) + math.exp(-4328.1150/a + 17.9134)))
y2=(760 - 0.5*(math.exp(-3848.0840/c + 17.5318) + math.exp(-4328.1150/c + 17.9134)))
if y2==0:
print(c)
elif y1*y2<0:
b=c
else:
a=c
erro=y2
print('O valor da raiz é: {:.2f}'.format(c))
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.