AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Chart Diagramm probleme

Ein Thema von Foxi1896 · begonnen am 5. Jun 2013 · letzter Beitrag vom 6. Jun 2013
Antwort Antwort
Foxi1896

Registriert seit: 5. Jun 2013
54 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Chart Diagramm probleme

  Alt 5. Jun 2013, 15:55
@dalo:
try
I:= (1/R) * (U-(C*n));
except
Showmessage('Fehlerbeschreibung');
exit;
end;

wo sehe ich den dann eine Beschreibung werte kann er mir ja so nicht anzeigen?


Bei Gleitkommawerten im Nenner fragt man GRUNDSÄTZLICH VORHER gegen Null ab (bzw. nicht gegen Null, sondern gegen einen sehr kleinen Absolutwert der Zahl ... if abs(p) < 0.0000001 ...)
wie mache ich den da dann sinnvoll weiter? .. .then ..

und wieso stellt Du eine solch einfache Frage gleich im mehreren Foren parallel - hast Du Angst, das könne niemend beantworten?
naja habe jetzt gedacht das die einen nur in dem forum und die anderen im anderen. Und so schneller eine Antwort bekomme.

Geändert von Foxi1896 ( 5. Jun 2013 um 15:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Chart Diagramm probleme

  Alt 5. Jun 2013, 17:04
naja habe jetzt gedacht das die einen nur in dem forum und die anderen im anderen. Und so schneller eine Antwort bekomme.
Nö, in diesem Forum kriegst du die besten Antworten weil es das beste Delphi Forum ist.

Direkt nachdem du die Werte von der Benutzeroberfläche übernommen hast, musst du eine Plausibilitätsprüfung vornehmen:
Delphi-Quellcode:
R :=StrToFloat(Edit1.Text);
if R < 0.1 then
  raise Exception.Create('Widerstand darf nicht kleiner als 0,1 Ohm sein');
Falls du später weitere Werte errechnest, die Einfluss auf die Division haben müssen diese auch geprüft werden:
Delphi-Quellcode:
I:= (1/R) * (U-(C*n));
if Abs(I) < 0.0001 then
  raise Exception.Create('Strom kleiner als 0,1 mA');
  // alternativ könntest du hier auch die Continue Anweisung verwenden um den Wert zu überspringen
Mir scheint ausserdem, dass irgendwas in deiner Berechnung falsch ist.
Evtl. die Formeln so umstellen, dass sich der Strom herauskürzt.
Oder auch so:
Delphi-Quellcode:
{Stromberechnung}
I:= (1/R) * (U-(C*n));
if Abs(I) < 0.001 then
   eta:= 0.0 // Wirkstrom = 0 ==> Wirkungsgrad = 0
else
begin
   {Momentberechnung}
   M_i:= I * (C/2.0*Pi);
   M := M_i - M_r;

  {Wirkungsgradberechnung}
  eta:= (M*2.0*Pi*n) / (U*I);
end;
fork me on Github
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#3

AW: Chart Diagramm probleme

  Alt 5. Jun 2013, 17:36
Foxi1896, wenn bei einer Berechnung der Nenner Null wird, muß man von der Logik her aus dem Zusammenhang entscheiden, was dann passiert. In der Mathe nennt man das eine Grenzwertbetrachtung.

Im "normalen" Leben muß man entscheiden, ob der ganze Bruch Null wird oder einen anderen unbestimmten Wert annimmt. Denn auch der Zähler kann Null sein, dann ist der Wert 0/0 = unbestimmt = jeder beliebige Wert.

Welchen Wert, und ob gültig oder ungültig, kann man nur aus dem geometrischen Zusammenhang bestimmen. Es kann Null, unendlich oder jeder Wert dazwischen sein. Alternativ kann man versuchen, für diese Grenzfälle eine andere Berechnung anzuwenden, die keinen NullNenner erbringt.

Geändert von MeierZwoo ( 6. Jun 2013 um 08:17 Uhr) Grund: (Rechtschreibung)
  Mit Zitat antworten Zitat
Foxi1896

Registriert seit: 5. Jun 2013
54 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Chart Diagramm probleme

  Alt 6. Jun 2013, 08:08
Ah,ok hab es verstanden. DANKE =)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz