I have trouble with this equation : E * cotangent((q * E)/(k * t)) = nkT/q
I'm looking for the values of E for the equality can be acheived knowing that : q , k are constant and t , n are variables For that I tried this code but apparently is failed
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();
}
}
}
help please !
Aucun commentaire:
Enregistrer un commentaire