Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIVERSIDAD NACIONAL
DE TRUJILLO
TEMA:
MÉTODO DE BISECCIÓN y
FALSA POSICIÓN
2020
INTEGRANTES:
ING: METALÚRGICA
CURSO: MÉTODOS NUMÉRICOS
DOCENTE: GLORIA POÉMAPE ROJAS
CICLO: IV
1
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
Método de Bisección:
Método de Bisección es muy similar al de falsa posición, aunque algo más simple. Como en la
posición falsa, en este método también se requieren 2 valores iniciales para ambos lados de la
raíz, y que sus valores funcionales correspondientes sean de signos opuesto.
En este caso, el valor de 𝑋𝑀 se obtiene como el punto medio de entre 𝑋1 y 𝑋0 .
𝑋𝑀 = (𝑋1 y 𝑋0 )/2
Dependiendo de la función que se tenga en particular, el método de la bisección puede converger
ligeramente más rápido o más lento que de posición falsa. Su gran ventaja sobre el de posición
falsa es que proporciona el tamaño exacto del intervalo en cada interacción (en ausencia de errores
de redondeo). Para aclarar esto, nótese que, en este método, después de cada interacción, el
tamaño del intervalo se reduce en la mitad, después de n iteraciones, el intervalo original se habrá
reducido 2𝑛 veces. Por lo anterior, si el intervalo original es de tamaño a y el criterio de
convergencia aplicado al valor absoluto de la diferencia de los 𝑋𝑀 consecutivas es 𝜀 , entonces
se requerirán n iteraciones, donde n se calcula con la igualdad de la expresión.
𝑎
≤𝜀
2𝑛
De donde:
𝑙𝑛𝑎 − 𝑙𝑛𝜀
𝑛=
𝑙𝑛2
Por esto se dice que se puede saber de antemano cuantas iteraciones se requieren.
C=(A*f(B)-B*f(A))/(f(B)-f(A))
MEP=abs(B-A)
2
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
𝑎
𝒚 = (𝑃 + ) (𝑉 − 𝑏) − 𝑅𝑇 = 0
𝑇 0.5 (𝑉)(𝑉 + 𝑏)
𝑎𝑡𝑚∗𝐿
Debemos tener en cuenta que nuestra constante R a usar debe ser en y así al
𝑚𝑜𝑙∗𝑘
3
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
#include<iostream>
#include<math.h>
using namespace std;
float f(float);
int main()
{
float a,b,A=0,B=1,C,tol,MEP;
cout<<"METODO DE BISECCION"<<endl;
cout<<"==================="<<endl;
cout<<"F(v)= [P+(a/(T^1/2*V*(V+b)))]*(V-b)-RT,[-3,3]"<<endl;
a=0.0807;
b=0.0165;
A=0;B=1;
tol=0.1;
if(f(A)*f(B)<0)
{ cout<<"Existe raiz en ese intervalo"<<endl;
4
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
do{
C=(A+B)/2;
MEP=(B-A)/2;
if(f(A)*f(C)<0)
B=C;
else
A=C;
}while(MEP>tol);
cout<<"REPORTANDO SOLUCION:"<<endl;
cout<<"El volumen en ml es V = "<<C<<" con MEP="<<MEP<<endl;
}
else
cout<<"No existe raiz en ese intervalo"<<endl;
return 0;
}
float f(float v )
{ float y,a,b;
a=0.0807;
b=0.0165;
y = (50+(a/(19.31320792*v*(v+b))))*(v-b)-30.586;
return y;
}
5
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
#include<iostream>
#include<math.h>
using namespace std;
float f(float);
int main()
{
float a,b,A=0,B=1,C,tol,MEP;
cout<<"METODO FALSA POSICION"<<endl;
cout<<"==================="<<endl;
cout<<"F(v)= [P+(a/(T^1/2*(V+b)))]*(V-b)-RT,[-3,3]"<<endl;
a=0.0807;
b=0.0165;
A=0;B=1;
tol=0.1;
if(f(A)*f(B)<0)
{ cout<<"Existe raiz en ese intervalo"<<endl;
do{
6
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
C=(A*f(B)-B*f(A))/(f(B)-f(A));
MEP=abs(B-A);
if(f(A)*f(C)<0)
B=C;
else
A=C;
}while(MEP>tol);
cout<<"REPORTANDO SOLUCION:"<<endl;
cout<<"El volumen en ml es V="<<C<<" con MEP="<<MEP<<endl;
}
else
cout<<"No existe raiz en ese intervalo"<<endl;
return 0;
}
float f(float v )
{ float y,a,b;
a = 0.0807;
b=0.0165;
y = (50+(a/(19.31320792*(v+b))))*(v-b)-30.586;
return y;
}
7
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
PARA EL H2:
#include<iostream>
#include<math.h>
using namespace std;
float f(float);
int main()
{
float a,b,A=0,B=1,C,tol,MEP;
cout<<"METODO DE BISECCION"<<endl;
cout<<"==================="<<endl;
cout<<"F(v)= [P+(a/(T^1/2*V*(V+b)))]*(V-b)-RT,[-3,3]"<<endl;
a=1.43803;
b=0.018495;
A=0;B=1;
tol=0.1;
if(f(A)*f(B)<0)
{
cout<<"Existe raiz en ese intervalo"<<endl;
do{
8
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
C=(A+B)/2;
MEP=(B-A)/2;
if(f(A)*f(C)<0)
B=C;
else
A=C;
}while(MEP>tol);
cout<<"REPORTANDO SOLUCION:"<<endl;
cout<<"El volumen en ml es V = "<<C<<" con MEP="<<MEP<<endl;
}
else
cout<<"No existe raiz en ese intervalo"<<endl;
return 0;
}
float f(float v )
{ float y,a,b;
a=1.43803;
b=0.018495;
y=(50+(a/(19.31320792*v*(v+b))))*(v-b)-30.586;
return y;
}
9
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
#include<iostream>
#include<math.h>
using namespace std;
float f(float);
int main()
{
float a,b,A=0,B=1,C,tol,MEP;
cout<<"METODO FALSA POSICION"<<endl;
cout<<"==================="<<endl;
cout<<"F(v)= [P+(a/(T^1/2*(V+b)))]*(V-b)-RT,[-3,3]"<<endl;
a=1.43803;
b=0.018495;
A=0;B=1;
tol=0.1;
if(f(A)*f(B)<0)
10
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
{
cout<<"Existe raiz en ese intervalo"<<endl;
do{
C=(A*f(B)-B*f(A))/(f(B)-f(A));
MEP=abs(B-A);
if(f(A)*f(C)<0)
B=C;
else
A=C;
}while(MEP>tol);
cout<<"REPORTANDO SOLUCION:"<<endl;
cout<<"El volumen en ml es V="<<C<<" con MEP="<<MEP<<endl;
}
else
cout<<"No existe raiz en ese intervalo"<<endl;
return 0;
}
float f(float v )
{ float y,a,b;
a=1.43803;
b=0.018495;
y=(50+(a/(19.31320792*(v+b))))*(v-b)-30.586;
return y;
}
11
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
PARA EL O2:
#include<iostream>
#include<math.h>
using namespace std;
float f(float);
int main()
{
float a,b,A=0,B=1,C,tol,MEP;
cout<<"METODO DE BISECCION"<<endl;
cout<<"==================="<<endl;
cout<<"F(v)= [P+(a/(T^1/2*V*(V+b)))]*(V-b)-RT,[-3,3]"<<endl;
a=17.14471761;
b=0.022086345;
12
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
A=0;B=1;
tol=0.1;
if(f(A)*f(B)<0)
{
cout<<"Existe raiz en ese intervalo"<<endl;
do{
C=(A+B)/2;
MEP=(B-A)/2;
if(f(A)*f(C)<0)
B=C;
else
A=C;
}while(MEP>tol);
cout<<"REPORTANDO SOLUCION:"<<endl;
cout<<"El volumen en ml es V = "<<C<<"con MEP="<<MEP<<endl;
}
else
cout<<"No existe raiz en ese intervalo"<<endl;
return 0;
}
float f(float v )
{ float y,a,b;
a=17.14471761;
b=0.022086345;
y=(50+(a/(19.31320792*v*(v+b))))*(v-b)-30.586;
return y;
}
13
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
#include<iostream>
#include<math.h>
using namespace std;
float f(float);
int main()
{
float a,b,A=0,B=1,C,tol,MEP;
cout<<"METODO FALSA POSICION"<<endl;
cout<<"==================="<<endl;
cout<<"F(v)= [P+(a/(T^1/2*(V+b)))]*(V-b)-RT,[-3,3]"<<endl;
a=17.14471761;
b=0.022086345;
A=0;B=1;
tol=0.1;
if(f(A)*f(B)<0)
{
cout<<"Existe raiz en ese intervalo"<<endl;
do{
C=(A*f(B)-B*f(A))/(f(B)-f(A));
MEP=abs(B-A);
14
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA METALÚRGICA
if(f(A)*f(C)<0)
B=C;
else
A=V;
}while(MEP>tol);
cout<<"REPORTANDO SOLUCION:"<<endl;
cout<<"El volumen en ml es V="<<C<<" con MEP="<<MEP<<endl;
}
else
cout<<"No existe raiz en ese intervalo"<<endl;
return 0;
}
float f(float v )
{ float y,a,b;
a=17.14471761;
b=0.022086345;
y = (50+(a/(19.31320792*(v+b))))*(v-b)-30.586;
return y;
}
15