Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hohe Zahlen (https://www.delphipraxis.net/95893-hohe-zahlen.html)

3_of_8 15. Jul 2007 20:06

Re: Hohe Zahlen
 
Wieso Teilstrecken?

Du könntest doch einfach mit dem Mittelwert von g rechnen (algebraisch oder harmonisch, bin mir jetzt nicht ganz sicher)

dominikkv 15. Jul 2007 20:10

Re: Hohe Zahlen
 
Zitat:

Zitat von jfheins
Wie gesagt, diese Schätzung liegt zu hoch, da ein konstantes g angenommen wird, aber ich glaue nicht, dass dies einen Faktor von 1000 ausmacht ;)

ähh..lol.. du hast recht^^
ich hab vergessen von meter in kilometer umzurechnen... :wall:
für 1 meter würde 9795 Joule rauskommen, für ein kilometer 9793440 Joule. :angel2:

Zitat:

Zitat von 3_of_8
Wieso Teilstrecken?
Du könntest doch einfach mit dem Mittelwert von g rechnen (algebraisch oder harmonisch, bin mir jetzt nicht ganz sicher)

weil das meine aufgabenstellung ist :wink:

Nikolas 15. Jul 2007 20:20

Re: Hohe Zahlen
 
Zum abschätzen: auf der Erdoberfläche gilt recht genau, dass W=m*g*h, wäre g auch noch in den nächsten 1000km konstant, hättest du hier : W=1000kg*9.81m/s^2*1000km=10^10J also etwa 10GJ.

Zitat:

woot woot?
könntest du das vllt nochmal in deutsch übersetzen xD
ich bin für alle vorschläge offen
Du kennst doch sicher die Aussage, dass Energie = Kraft*Wegstrecke. Auf der Erdoberfläche hast du als Kraft die Gravitationskraft (m*g) und eine Wegstrecke (h). Nun ist aber die Gravitationskraft nicht überall gleich stark sondern nimmt antiproportional zum Abstandsquadrat ab. Wenn du also deine Rakete irgendwo hinstellst und die Gravitationskraft an dieser Stelle misst, und dann das Raumschiff doppelt so weit von der Erde entfernst, wirst du nur noch eine Kraft messen, die ein viertel der zuerst gemessenen Kraft entspricht. In einer Gleichung sieht dass dann so aus: F=const*mM/r^2. Wobei const die Gravitationskonstante, M die Erdmasse, m die Raketenmasse und r der Abstand zwischen erdmittelpunkt und Rakete ist.
Jetzt willst du die Energie ausrechnen, die du benörigst, um eine Rakete von r0 auf r1 zu bringen.
Da die Kraft nicht konstant ist, musst du den Weg stückchenweise berechnen. Du berechnest die Energie, um die Rakete von r0 auf r0+100m zu bringen, dann die Energie von ro+100 auf r0+200m usw.
Da diese Wegstücke recht klein sind, kannst du davon ausgehen, dass sich die Gravitationskraft innerhalb dieser kleinen Stücke nicht allzu sehr verändern wirst.

also kannst du die Energie auch so ausrechnen:
W= F(r0)*100m+F(r0+100)*100m+...

Als nächstes kannst du dann die schrittweise veringern und dann sehen, dass der Fehler mit kleineren Schrittweiten immer kleiner wird.

dominikkv 15. Jul 2007 20:49

Re: Hohe Zahlen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Nikolas
Du kennst doch sicher die Aussage, dass Energie = Kraft*Wegstrecke. Auf der Erdoberfläche hast du als Kraft die Gravitationskraft (m*g) und eine Wegstrecke (h). Nun ist aber die Gravitationskraft nicht überall gleich stark sondern nimmt antiproportional zum Abstandsquadrat ab. Wenn du also deine Rakete irgendwo hinstellst und die Gravitationskraft an dieser Stelle misst, und dann das Raumschiff doppelt so weit von der Erde entfernst, wirst du nur noch eine Kraft messen, die ein viertel der zuerst gemessenen Kraft entspricht. In einer Gleichung sieht dass dann so aus: F=const*mM/r^2. Wobei const die Gravitationskonstante, M die Erdmasse, m die Raketenmasse und r der Abstand zwischen erdmittelpunkt und Rakete ist.
Jetzt willst du die Energie ausrechnen, die du benörigst, um eine Rakete von r0 auf r1 zu bringen.
Da die Kraft nicht konstant ist, musst du den Weg stückchenweise berechnen. Du berechnest die Energie, um die Rakete von r0 auf r0+100m zu bringen, dann die Energie von ro+100 auf r0+200m usw.
Da diese Wegstücke recht klein sind, kannst du davon ausgehen, dass sich die Gravitationskraft innerhalb dieser kleinen Stücke nicht allzu sehr verändern wirst.

also kannst du die Energie auch so ausrechnen:
W= F(r0)*100m+F(r0+100)*100m+...

Als nächstes kannst du dann die schrittweise veringern und dann sehen, dass der Fehler mit kleineren Schrittweiten immer kleiner wird.

hmm... ich dachte das ich genau das mit meinem programm mache...
ich unterteile die strecke in teile und schau wie viel energie ich für den ersten teil brauche, dann für den 2ten teil etc und addiere das ganze.

ich hab mal das projekt angehängt^^

Nikolas 15. Jul 2007 21:16

Re: Hohe Zahlen
 
Naja, aber du ziehst im nächsten Schritt wieder das ab, was du im ersten berechnet hast...

Dann lass dir doch mal die Zeilen ausgeben, du benutzt in der Schleife die gleichung, die dir auch das ergebniss ausrechnen kann.
In der ersten Schleifen runde rechnest du w=P(r0)-P(r0+100m);
in der zweiten Runde rechnest du P(r0+100) wieder dazu und ziehst p(r0+200m) wieder ab. und so weiter. die ganzen Zwischenergebnisse kannst du auch gleich weglassen. So was nennt sich umgangssprachlich eine Teleskopsumme weil man sie ohne jede Rechnung zusammenschieben kann und die Zwischenergebnisse nie sieht, weil man auch ohne sie den Endwert ausrechnen kann.

Ich stell mir das etwa so vor:

Delphi-Quellcode:
real mRakete=1000;
real MErde = GanzGroß;
real GravKonstante = KomischeZahl;

// gibt die Gravitationskraft im Abstand r zum erdmittelPunkt zurück
function Gravity(real r):real;
begin
return mRakete*mErde*GravKonstante/r^2;
end;

double r0=ErdRadius;
double r1=ErdRadius+100000m;
double dr=10;
double r=r0;

double W=0;
while (r<=r1) do
begin
W += dr*Gravity(r+dr/2); // Kraft in der Mitte des Intervalls
r+=dr;
end;
So in etwa sollte das aussehen.

dominikkv 15. Jul 2007 21:56

Re: Hohe Zahlen
 
so, mal schauen ob ich das richtig verstanden habe:
Delphi-Quellcode:
function F(r, mSchiff, mPlanet: Extended): Extended;
begin
  result := (y * mPlanet * mSchiff) / (r * r);
end;

function EnergieberechnungEx(Z: Cardinal; Pos, mPlanet, mSchiff: Extended): Extended;
var h: Extended;
    I: Cardinal;
    x: Extended;
begin
  if z = 0 then
    z := 1;
  h := (Pos*1000)/Z;
  result := 0;

  for i := 1 to Z do
    begin
      x := h * F(r+(i*h)/2, mSchiff, mPlanet);
      Result := Result + x;
    end;
end;
stimmt das so?
auf jedenfall ändert sich jetzt das ergebnis wenn ich die anzahl der schritte ändere und für 1 km braucht ein 1t schweres raumschiff 9794207 Joule :mrgreen:

achso: tausend Dank an dich, Nikolas
ich weiß garnicht wie ich mich bei dir bedanken kann :cheers:

Nikolas 15. Jul 2007 22:01

Re: Hohe Zahlen
 
Was kommt denn raus, wenn du Start und Endwert in die Formel von deinem Lehrer steckst?

Ultimator 15. Jul 2007 22:10

Re: Hohe Zahlen
 
Nur so zum überlegen: 9795J sind etwa 10kJ, das entspricht etwa der Energie in einem halben Glas Traubensaftschorle. Ich muss mir sowas immer bildlich vorstellen, dann klappt das mit dem Überschlagen einfacher.

Nicolai1234 15. Jul 2007 23:09

Re: Hohe Zahlen
 
Ich denke, es müssten so ca. 4x10^14J rauskommen. Vielleicht hilft das ja weiter.

Nikolas 16. Jul 2007 19:26

Re: Hohe Zahlen
 
Wie hast du das denn berechnet?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 Uhr.
Seite 3 von 4     123 4      

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