Procedimiento numérico
Resolver la ecuación trascendente por el procedimiento del punto medio
2α
=E(
k,
π
2
) k=sin
ϕ
0
2
double raiz(double a, double b) {
double m, ym;
int iter=0;
do{
m=(a+b)/2;
ym=f(m);
if(Math.abs(ym)<CERO) break;
if(Math.abs((a-b)/m)<ERROR) break;
if((f(a)*ym)<0) b=m;
else a=m;
iter++;
}while(iter<MAXITER);
return m;
}
double f(double x){
double k=Math.sin(x/2);
double y=Math.sqrt(2*alfa)-Integral_Eliptica.primera(Math.PI/2, k);
return y;
}
|
alfa=Math.PI*Math.PI*fuerza/8;
angFinal=raiz(0.0, 3.0);
Posiciones x e y.
x
L
=
1
α
(
1-cos
ϕ
0
−
cosϕ−cos
ϕ
0
)
y
L
=
1
2
α
∫
0
ϕ
cosϕ·dϕ
cosϕ−cos
ϕ
0
double integral(double a, double b, int n){
if(n%2==1) n++;
double h=(b-a)/n;
double suma=g(a)+g(b);
for(int i=1; i<n; i+=2){
suma+=4*g(a+i*h);
}
for(int i=2; i<n; i+=2){
suma+=2*g(a+i*h);
}
return (suma*h/3);
}
double g(double x){
double y=Math.cos(x)/Math.sqrt(-Math.cos(angFinal)+Math.cos(x));
return y;
}
|
x=(Math.sqrt(1.0-Math.cos(angFinal))-Math.sqrt(-Math.cos(angFinal)+Math.cos(ang)))
/Math.sqrt(alfa);
y=integral(0.0, ang, 50)/(2*Math.sqrt(alfa));
Posiciones finales
x
f
L
=
1
α
1−cos
ϕ
0
y
f
=y+
x
f
−x
tan
ϕ
0
xf=(Math.sqrt(1.0-Math.cos(angFinal)))/Math.sqrt(alfa);
yf=y+(xf-x)/Math.tan(angFinal);