Laden...

Probleme mit Umsetzung einer Formel (NaN)

Erstellt von grobekelle vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.143 Views
G
grobekelle Themenstarter:in
4 Beiträge seit 2018
vor 4 Jahren
Probleme mit Umsetzung einer Formel (NaN)

Guten Tag zusammen,

ich bekomme es einfach nicht hin, die im Anhang ersichtliche Formel in C# umzusetzen. Als Ausgabe bekomme ich immer NaN (not a number). Hat jemand eine Idee, wo der Fehler steckt?


Temperatur = (3.90802 * Math.Pow(10, -1)) / (2 * 5.802 * Math.Pow(10, -5)) - Math.Sqrt(Math.Pow((3.90802 * Math.Pow(10, -1)), 2) / (4 *(Math.Pow((5.802 * Math.Pow(10, -5)), 2)) - (Widerstand - 100) / (5.802 * Math.Pow(10, -5))));

P
441 Beiträge seit 2014
vor 4 Jahren

Mehr klammern 😃


 double Widerstand = 200.0;
 (
 	(
		(3.90802 * Math.Pow(10, -1)) / 
		(2 * 5.802 * Math.Pow(10, -5))
	)
	
	- 
	Math.Sqrt(
		(
			Math.Pow((3.90802 * Math.Pow(10, -1)), 2) / 
			(4 *(Math.Pow((5.802 * Math.Pow(10, -5)), 2)))
		)
		
		- 
		(
			(Widerstand - 100) / 
			(5.802 * Math.Pow(10, -5))
		)
	)
).Dump();

--> 266,422135405272

Ich kann nur empfehlen, soetwas versuchen so übersichtlich wie irgend möglich zu implementieren.

4.931 Beiträge seit 2008
vor 4 Jahren

Man braucht auch nicht das "10 hoch x" explizit ausrechnen zu lassen, sondern kann bei einem double oder float einfach die Exponentialschreibweise verwenden:


3.90802E-1 / (2 * 5.802E-5)

G
grobekelle Themenstarter:in
4 Beiträge seit 2018
vor 4 Jahren

Tausend Dank. 👍

G
grobekelle Themenstarter:in
4 Beiträge seit 2018
vor 4 Jahren

Man braucht auch nicht das "10 hoch x" explizit ausrechnen zu lassen, sondern kann bei einem double oder float einfach die Exponentialschreibweise verwenden:

  
3.90802E-1 / (2 * 5.802E-5)  
  

Interessant, das werde ich ausprobieren. Danke.