Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Probleme mit Umsetzung einer Formel (NaN)
grobekelle
myCSharp.de - Member



Dabei seit:
Beiträge: 3

Themenstarter:

Probleme mit Umsetzung einer Formel (NaN)

beantworten | zitieren | melden

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))));
Attachments
private Nachricht | Beiträge des Benutzers
Papst
myCSharp.de - Experte



Dabei seit:
Beiträge: 344
Herkunft: Kassel

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Papst am .
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 3950

beantworten | zitieren | melden

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)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Th69 am .
private Nachricht | Beiträge des Benutzers
grobekelle
myCSharp.de - Member



Dabei seit:
Beiträge: 3

Themenstarter:

beantworten | zitieren | melden

Tausend Dank.
private Nachricht | Beiträge des Benutzers
grobekelle
myCSharp.de - Member



Dabei seit:
Beiträge: 3

Themenstarter:

beantworten | zitieren | melden

Zitat von Th69
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.
private Nachricht | Beiträge des Benutzers