- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 8 von 8

Thema: freien Fall berechnen

  1. #1
    HaWe
    Gast

    freien Fall berechnen

    Anzeige

    Praxistest und DIY Projekte
    hi,
    ich kam gerade ins grübeln...
    wenn ich einen Stein aus 125m Höhe fallen lasse (g~10m/s²) und jede Sekunde die aktuelle Geschwindigkeit und Position ermitteln will,
    ist es richtig, dass jede Sekunde die aktuelle Geschwindigkeit gleichmäßig um weitere 10m/s gegenüber vorher zunimmt? Und die Höhe jede Sek. um konstant 10m mehr als in der vorherigen abnimmt (rund gerechnet)?

    ist doch korrekt, oder?

    Code:
    dh = 0.5 * (g)*dt*dt + vi*dt ;  // dt ist immer 1s
    hi = hi-dh;                                
    vi = vi + (g)*dt;       
    
    0  h0=125m (Start)
       v0=0;      
    
    1  dh=0.5*10*1*1 + v0*1 = 5+0 = 5m; // die *1s lass ich später weg)
       h1=125-dh=125-5=120m
       v1= 0+ 10*1=10m/s;
    
    2  dh=0.5*10 + v1 = 5+10=15m
       h2=120-dh=120-15=105m
       v2= 10+10 = 20m/s
    
    3  dh=0.5*10 + v2 = 5+20=25m
       h3=105-dh=105-25=80m
       v3= 20+10 = 30m/s
    
    4  dh=0.5*10 + v3 = 5+30=35m
       h4=80-dh=80-35=45m
       v4=30+10 = 40m/s
    
    5 dh=0.5*10 + v4 = 5+40=45m
       h5=45-45 = 0m       (Aufschlag)
       v5= 40+10=50m/s
    also Aufschlag nach 5s mit 50m/s?

    (Probe:
    wenn ich dt=5s oben einsetze:
    dh = 0.5*10*5*5 + 0*5= 125m
    h=125-125=0m
    v=0+ 10*5=50m/s )



    Denn was mich stutzig gemacht hat:
    die Höhe nimmt ausschließlich in der 1. Sekunde um nur 5m ab, danach immer jede weitere Sek wachsend um konstant 10m...
    Geändert von HaWe (28.03.2019 um 22:24 Uhr)

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Im Prinzip hast du Recht und das Ergebnis stimmt auch.
    Aber du musst das als Infinitesimalproblem verstehen. Korrekt wird die Rechnung, wenn du mit unendlich kleinen Zeitabständen rechnest.
    Wenn du die Zeitabstände mal von 1 Sekunde auf 0,5 Sekunden, 0,1 Sekunden, 0,05 Sekunden, 0,01 Sekunden... verkürzt, kommst du dem tatsächlichen Ergebnis immer näher.
    In deinem Fall geht die Rechnung allerdings wirklich auf, weil du mit der Durchschnittsgeschwindigkeit deiner Zeitperiode rechnest. Wenn du das gleiche versuchst, um die zurückgelegte Strecke auszurechnen, wird das wahrscheinlich nicht klappen.
    Die passenden Formeln findet man leicht im Web.
    Geändert von Gnom67 (28.03.2019 um 23:34 Uhr)

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Zitat Zitat von HaWe Beitrag anzeigen
    ...ist es richtig, dass jede Sekunde die aktuelle Geschwindigkeit gleichmäßig um weitere 10m/s gegenüber vorher zunimmt? Und die Höhe jede Sek. um konstant 10m mehr als in der vorherigen abnimmt (rund gerechnet)?
    Nein. Die Geschwindigkeit nimmt zwar je Sekunde um 10m/s zu, aber der zurückgelegte Weg (=Abnahme der Höhe über Grund) verändert sich quadratisch mit 0,5 * 10m/s² * ((t_2)²-(t_1)²), wobei t_2 > t_1.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Zitat Zitat von RoboHolIC Beitrag anzeigen
    Nein. Die Geschwindigkeit nimmt zwar je Sekunde um 10m/s zu, aber der zurückgelegte Weg (=Abnahme der Höhe über Grund) verändert sich quadratisch mit 0,5 * 10m/s² * ((t_2)²-(t_1)²), wobei t_2 > t_1.
    Doch! Er sagte "konstant 10 m mehr als in der vorigen..."

    0,5 * 10 * (1²-0²) = 5
    0,5 * 10 * (2²-1²) = 15
    0,5 * 10 * (3²-2²) = 25
    0,5 * 10 * (4²-3²) = 35
    0,5 * 10 * (5²-4²) = 45

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    865
    Integralrechnung ist Dein Freund:

    g= sE/tE² //Konstant
    v= g*t //lineare Funktion
    s= 1/2 * g * t² //quadratische Funktion

    s= 1/2 * sE/tE² * t² //g eingesetzt
    t= SQRT(2s /sE * tE²) //Nach t umgestellt

    Eingesetzt:
    tE² = 1s²
    sE = 10m
    s= 125m
    t=SQRT( 2*125m /10m * 1s²) = SQRT(25s²) = 5s

    v= t*g = 5s*10m/s² = 50m/s //Geschwindigkeit zum Zeitpunkt t
    Geändert von Holomino (29.03.2019 um 07:20 Uhr)

  6. #6
    HaWe
    Gast
    Zitat Zitat von Holomino Beitrag anzeigen
    Integralrechnung ist Dein Freund:

    g= sE/tE² //Konstant
    v= g*t //lineare Funktion
    s= 1/2 * g * t² //quadratische Funktion

    s= 1/2 * sE/tE² * t² //g eingesetzt
    t= SQRT(2s /sE * tE²) //Nach t umgestellt

    Eingesetzt:
    tE² = 1s²
    sE = 10m
    s= 125m
    t=SQRT( 2*125m /10m * 1s²) = SQRT(25s²) = 5s

    v= t*g = 5s*10m/s² = 50m/s //Geschwindigkeit zum Zeitpunkt t
    mit Integralrechnung ist es klar, aber es geht hier um ein iteratives Verfahren, das in einem C++ Programm eingesetzt werden soll.
    Momentan: Iteration jede volle Sekunde,
    später auch ggf. engmaschiger.

    Mir ist dabei nur aufgefallen, dass die Schritte jede Sekunde immer eine um konstant 10m schnelleren Höhenverlust ergeben (5 auf 15, dann 25, dann 35, dann 45m, und die Zunahme bleibt auch konstant und wird nicht schneller), nur nicht bei der 1. Sekunde, da sind es von 0m auf 5m nur 5m Differenz, nicht 10m Differenz wie sonst. Der Grund dafür ist mir spontan nicht ganz einleuchtend.

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Das liegt daran, dass du mit den Mittelwerten der linearen Geschwindigkeitsfunktion (v = g * t) arbeitest.
    Bei 0 Sekunden (mit g = ~10) ist v = 0, bei 1 Sekunde ist v = 10 , Mittelwert 5.
    Bei 1 Sekunden ist v = 10, bei 2 Sekunde ist v = 20 , Mittelwert 15.
    Bei 2 Sekunden ist v = 20, bei 3 Sekunde ist v = 30 , Mittelwert 25.

    Da die Funktion linear ist und du mit dem Mittelwert arbeitest, ist das Ergebnis exakt und die Iteration über kleinere Intervalle bringt dir keine höhere Genauigkeit. Anders wäre es, wenn du mit der Anfang deiner Intervalle (also 0, 10, 20, ...) arbeitest. Dann wird das Ergebnis mit kleineren Intervallen genauer.

  8. #8
    HaWe
    Gast
    Zitat Zitat von Gnom67 Beitrag anzeigen
    Das liegt daran, dass du mit den Mittelwerten der linearen Geschwindigkeitsfunktion (v = g * t) arbeitest.
    Bei 0 Sekunden (mit g = ~10) ist v = 0, bei 1 Sekunde ist v = 10 , Mittelwert 5.
    Bei 1 Sekunden ist v = 10, bei 2 Sekunde ist v = 20 , Mittelwert 15.
    Bei 2 Sekunden ist v = 20, bei 3 Sekunde ist v = 30 , Mittelwert 25.

    Da die Funktion linear ist und du mit dem Mittelwert arbeitest, ist das Ergebnis exakt und die Iteration über kleinere Intervalle bringt dir keine höhere Genauigkeit. Anders wäre es, wenn du mit der Anfang deiner Intervalle (also 0, 10, 20, ...) arbeitest. Dann wird das Ergebnis mit kleineren Intervallen genauer.
    aaahh!! na klar, danke!!

    die kürzeren Iterationen (später mal) sind für eine Animation auf einem Arduino-TFT - momentan in der "Testphase" mit Serial Monitor noch sehr ruckelig, aber brauchbar für Testzwecke

Ähnliche Themen

  1. Was ist die Versorgungsspannung in meinem Fall?
    Von Andi#87 im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 29.01.2019, 10:32
  2. ADXL345 - Freien Fall erkennen
    Von Spacecam im Forum Raspberry Pi
    Antworten: 3
    Letzter Beitrag: 23.12.2013, 20:54
  3. Antworten: 9
    Letzter Beitrag: 21.07.2007, 02:06
  4. Freien RAM rausfinden
    Von Thorsten im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 20.12.2004, 14:58
  5. Den Katzen abgeschaut: Roboter übt freien Fall
    Von Frank im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 1
    Letzter Beitrag: 16.07.2004, 21:26

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad