Integral elíptica
Las componentes del campo Ex y Ez se expresan en términos de (x/a) y (z/a) de la siguiente forma en términos de la integrales elípticas completas de primera y segunda especie
public class Aplicacion {
public static void main(String[] args) {
double m=2.0/(1.0+(z*z+x*x+1)/(2*x));
double Ex, Ez; if(Math.abs(x)<0.01){ Ex=0.0; Ez=z/Math.pow((z*z+1), 1.5); }else{ Ex=(x*m*Math.sqrt(2*m)*Eliptica.segunda(Math.PI/2, Math.sqrt(m)) /(2-2*m)+Math.sqrt(2*m)*Eliptica.primera(Math.PI/2, Math.sqrt(m))- (2-m)*Math.sqrt(2*m)*Eliptica.segunda(Math.PI/2, Math.sqrt(m))/(2-2*m)) /(Math.PI*2*x*Math.sqrt(2*x)); Ez=(z*m*Math.sqrt(2*m)*Eliptica.segunda(Math.PI/2, Math.sqrt(m))/(2-2*m)) /(Math.PI*2*x*Math.sqrt(2*x)); } System.out.println("Ex: "+String.valueOf((double)Math.round(Ex*1000)/1000));
System.out.println(" Ez: "+String.valueOf((double)Math.round(Ez*1000)/1000)); double angulo=Math.atan2(Ez, Ex); if(angulo<0) angulo+=2*Math.PI; double modulo=Math.sqrt(Ex*Ex+Ez*Ez); System.out.println("E: "+String.valueOf((double)Math.round(modulo*1000)/1000));
System.out.println("fi: "+String.valueOf((double) Math.round(angulo*1800/Math.PI)/10)+"º");
}
} |
