AGB  ·  Datenschutz  ·  Impressum  







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

Hilfe Luftdruckrechner

Ein Thema von Y-Fritz · begonnen am 26. Feb 2007 · letzter Beitrag vom 27. Feb 2007
Antwort Antwort
Seite 2 von 3     12 3      
Y-Fritz

Registriert seit: 26. Feb 2007
12 Beiträge
 
#11

Re: Hilfe Luftdruckrechner

  Alt 26. Feb 2007, 12:33
Zitat von Nikolas:
Das x steht für die Meter und das ^ ist das Zeichen für Potenzierung also die Höhe auf 1000m ist dann P(1000m)=P0*[ (1-p) hoch 1000 ]
Danke,
nur wie bekomme ich den Logarithmus in Delphi hin. Weil ich kenne nur den Befehl für den natürlichen Logarithmus.

h2:=ln(1000 *(1-p))*luft;
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#12

Re: Hilfe Luftdruckrechner

  Alt 26. Feb 2007, 14:36
Der reicht auch völlig. Such mal nach Log-Gesetzen, da wirst du ein Gesetz finden, wie du so einen Ausdruck auch mit dem ln berechnen kannst. (Besser gesagt, mit Log-Funktionen zu beliebiger Basis)
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#13

Re: Hilfe Luftdruckrechner

  Alt 26. Feb 2007, 14:46
log(4)3 = lg(4) / lg(3)

wenn ich mich nicht irre ..
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Y-Fritz

Registriert seit: 26. Feb 2007
12 Beiträge
 
#14

Re: Hilfe Luftdruckrechner

  Alt 26. Feb 2007, 16:07
Hab das mal versucht so zu programmieren, aber die Werte stimmen noch nicht.

Wenn jemand sich nochmal den Quelltext anschauen könnte?

Delphi-Quellcode:

p:=0.013869/100;
luft:=strtofloat(edit4.Text);
h2:=ln(1000*(1-p))/ln(luft);
edit3.text:=floattostrf(h2,fffixed,10,2);
Bei einem Druck von z.B.: 933hpa müssten 500 Meter herauskommen.
  Mit Zitat antworten Zitat
Y-Fritz

Registriert seit: 26. Feb 2007
12 Beiträge
 
#15

Re: Hilfe Luftdruckrechner

  Alt 26. Feb 2007, 18:38
Danke euch allen, jetzt klapts.
Zu Vollständigkeit noch:

933=1000(1-0,00013869)500 /:1000
0,993=(1-0,00013869)500
log(1-0,00013869)0,933=500
500=ln(0,933)/ln(1-0,00013869)
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#16

Re: Hilfe Luftdruckrechner

  Alt 27. Feb 2007, 07:56
Deine Schreibweise ist recht unverständlich, aber es sieht so aus, als hättest du es verstanden. Falls es sich um eine Hausaufgabe handelt, solltest du bei der Abgabe natürlich erklären können, wie du auf die Formel gekommen bist.
Auf jeden Fall sieht diese Lösung doch deutlich eleganter aus, als deine Schleife, die einmal recht lange dauert und in der du bei den ganzen Operationen mit Rundungsfehlern rechnen musst.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Y-Fritz

Registriert seit: 26. Feb 2007
12 Beiträge
 
#17

Re: Hilfe Luftdruckrechner

  Alt 27. Feb 2007, 09:32
Zitat von Nikolas:
Deine Schreibweise ist recht unverständlich, aber es sieht so aus, als hättest du es verstanden. Falls es sich um eine Hausaufgabe handelt, solltest du bei der Abgabe natürlich erklären können, wie du auf die Formel gekommen bist.
Auf jeden Fall sieht diese Lösung doch deutlich eleganter aus, als deine Schleife, die einmal recht lange dauert und in der du bei den ganzen Operationen mit Rundungsfehlern rechnen musst.
Das war nur das umstellen der Formel, der Quelcode war dann dieser:
Delphi-Quellcode:
luft:=luft/1000;
h2:=ln(luft)/ln(1-p);
Ach kennt jemand zufällig noch nein Algorithmus zum Absichern? Sprich das wenn man in ein edit Feld z.b.: einen Buchstaben eingibt, eine Warnung ausgegeben wird? (um zu verhindern, dass das Programm abstürtzt)

Also mir ist dieser bekannt (funktioniert aber nicht):

Delphi-Quellcode:
try
 h:=strtoint(edit1.text);
except
 MessageDlg ('Bitte nur Zahlen eingeben!', mtwarning,[mbOK],0);
 edit1.setfocus;
 exit;
end;
Gibts da noch ne andere Möglichkeit? Zum Beispiel mit "if Buchstabe do begin"?
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#18

Re: Hilfe Luftdruckrechner

  Alt 27. Feb 2007, 09:42
Zitat von Y-Fritz:
Also mir ist dieser bekannt (funktioniert aber nicht):

Delphi-Quellcode:
try
 h:=strtoint(edit1.text);
except
 MessageDlg ('Bitte nur Zahlen eingeben!', mtwarning,[mbOK],0);
 edit1.setfocus;
 exit;
end;
Hast Du das in der IDE getestet? Da geht es nicht, da die IDE die Exception vorher abfängt. (Kann man auch einstellen)

Frank

PS.: Int(S,Error); // Sowas?
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#19

Re: Hilfe Luftdruckrechner

  Alt 27. Feb 2007, 10:52
Ich habe mal den Code für ein Editfeld, dass nur korrekt eingegebene Zahlen zulässt in der Codelibrary veröffentlicht, den kannst du für deine Zwecke anpassen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#20

Re: Hilfe Luftdruckrechner

  Alt 27. Feb 2007, 11:07
Zitat von Y-Fritz:
Delphi-Quellcode:
try
 h:=strtoint(edit1.text);
except
 MessageDlg ('Bitte nur Zahlen eingeben!', mtwarning,[mbOK],0);
 edit1.setfocus;
 exit;
end;
Gibts da noch ne andere Möglichkeit? Zum Beispiel mit "if Buchstabe do begin"?
schau mal nach trystrtoint oder du musst die eingabe direkt abfangen!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 07:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz