Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

186
Vistas
¿Cómo obtener números aleatorios para probar la ecuación matemática?

Tengo problemas con esta ecuación: E * cotangent((q * E)/(k * t)) = nkT/q .

Estoy buscando los valores de E para que la igualdad se pueda lograr sabiendo que: q y k son constantes, t y n son variables.
Para eso probé este código pero aparentemente falló:

 public class Equation { public static double q = 1.6E-19; public static double k = 1.38E-23; //double y = E * 1/Math.tan(E*q/k*t); //DecimalFormat df = new DecimalFormat("#.#####"); public static double[] nktq = new double[]{0.02857,0.02674,0.03118,0.02829,0.02976,0.02898,0.03001,0.02953,0.032}; public static double[] t = new double[]{80,100,150,200,250,280,300,320,350}; public static double[] n = new double[]{4.14,3.1,2.41,1.64,1.38,1.20,1.16,1.07,1.06}; private static DecimalFormat df2 = new DecimalFormat(".##"); public static double genE(){ double start = 0; double end = 30; double random = new Random().nextDouble(); // DecimalFormat df = new DecimalFormat("#.##"); // df.setRoundingMode(RoundingMode.FLOOR); double E = start + (random * (end - start)); //double E = new Double(df.format(result)); System.out.println(df2.format(E)); return E; } public static void main(String[] args) { //double y = E * 1/Math.tan(E*q/k*t); //DecimalFormat df = new DecimalFormat("#.#####") double E = 0; while ( Math.round(E * 1/Math.tan((q * E)/(k * t[0]))*100000)!= nktq[0]){ genE(); } } }

¡Cualquier ayuda es apreciada!

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Crea una nueva instancia Random para cada valor. Eso está mal.

Esto es lo que te recomiendo que pruebes:

 public class Equation { private Random random; public Equation() { this(null); } public Equation(Long seed) { this.random = (seed == null) ? new Random() : new Random(seed.longValue()); } public double nextConst() { return this.random.nextDouble(); } public double nextConst(double start, double end) { return start + (end-start)*this.random.nextDouble(); } // Add the rest of your stuff here. }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda