Wie stelle ich die Beschleunigung grafisch dar?

Ich habe einen Java-Code für die Berechnung einiger verschiedener Beschleunigungs- und usw. Typdaten geschrieben. Ich versuche jetzt, diese Daten grafisch darzustellen, damit ich bestimmte Daten über eine Zeitachse ziehen kann. Die Werte, die ich über mein Mathematikprogramm erhalten habe, sind mit mehreren verschiedenen Mitteln zur Fehlerprüfung rein genau. Ich benötige keine Hilfestellung für die Java-Programmierung. Was ich brauche, ist eine genaue Grafiktechnik, damit ich die entsprechenden Daten erhalten kann.

http://physicsforidiots.com/wp/wp-content/ql-cache/quicklatex.com-f80733c4cb4c6cb9bdef0e44fe176cab_l3.svg

Beschleunigungsformel

Die x-Achse ist dabei die Zeitvariable. Die y-Achse sollte die Entfernung sein, aber ich bekomme völlig falsche Zahlen. Ich weiß, dass ich vielleicht mit meinem Verständnis davon, wie es grafisch aussehen würde, daneben liegen könnte.

    double D = Double.parseDouble(txtDistance.getText());
    double T = Double.parseDouble(txtTime.getText());
    double IV = Double.parseDouble(txtIVelocity.getText());
    double M = Double.parseDouble(txtMass.getText());

    double hd = Distance(D);
    double ht = Time(T);

    //2.0*(xt/th-v_i)/th
    //double A = (2 * (hd - ht * IV)) / (ht * ht);
    double A = 2 * (hd/ht - IV)/ht;     
    double PG = (A / 9.8) * 100;

    //IV + A * ht
    //double V = hd / ht;
    double V = IV + A * ht;
    double PL = (V / 299792458) * 100;
    double MPH = V * 2.236936;

    double F = M * A;
    double LBT = F * 0.224809;

    DecimalFormat df = new DecimalFormat("####0.0000");

    txtVelocity.setText(String.valueOf(df.format(V)));
    txtPLight.setText(String.valueOf(df.format(PL)));
    txtMph.setText(String.valueOf(df.format(MPH)));

    txtAcceleration.setText(String.valueOf(df.format(A)));
    txtPGForce.setText(String.valueOf(df.format(PG)));

    txtThrust.setText(String.valueOf(df.format(F)));
    txtLBThrust.setText(String.valueOf(df.format(LBT)));

Wie Sie daran sehen können, gebe ich Entfernung, Zeit, Anfangsgeschwindigkeit und Masse ein. Und im Gegenzug berechnet und zeigt es die Endgeschwindigkeit, die prozentuale Lichtgeschwindigkeit, die Meilen pro Stunde, die Beschleunigung, die prozentuale G-Kraft, das Vertrauen in Newton und den Schub in Pfund an.

Beispieldaten:

Entfernung: 160934400 km (etwas mehr als eine AE) Zeit: 40 Stunden Anfangsgeschwindigkeit: 3070 m/s (geosynchrone Erdumlaufbahn) Masse: 54431 kg

Das Fahrzeug startet in der Erdumlaufbahn und beschleunigt über 50 % der Entfernung und bremst über 50 % der Entfernung ab. Dies wird mit 72000 Sekunden und 80467200000 Metern angegeben.

Beispielantwort:

Endgeschwindigkeit: 1117600,0000 m/s Prozent Licht: 0,3728 % Meilen pro Stunde: 2499999,6736 mph (für das menschliche Verständnis der Geschwindigkeit für den Leser) Beschleunigung: 30,9592 m/s^2 Prozent G-Kraft: 315,9099 % Schub: 315,9099 N Lbs Schub: 378834,2788 Lbs (wieder zum menschlichen Verständnis)

Ich weiß, dass diese Zahlen so genau sind, wie sie die oben angegebenen konstanten Beschleunigungsgleichungen verwenden können. Ich weiß, dass diese Zahlen extrem sind, aber es ist ein Science-Fiction-Roman.

Der Zweck von all dem ist, dass ich einen Science-Fiction-Roman schreibe und eine Handlung und einen Zeitplan habe. Ich brauche verschiedene Geschwindigkeiten, basierend auf Zeit und Beschleunigung usw. Ich habe ein zusätzliches Programm, das diese Daten aufnimmt und grafisch darstellt, sodass ich auf Punkte klicken kann, um die entsprechenden Daten zu erhalten, die ich zu einem bestimmten Zeitpunkt in der Geschichte benötige.

Was ist das geeignete Mittel, um das grafisch darzustellen, damit ich genaue Zahlen bekomme, die für meine Geschichte Sinn machen, wenn Sie, potenzieller Leser, das Buch lesen?

Abgesehen von noch genaueren Zahlen muss ich wissen, wie ich meine Gleichungen modifizieren kann, um Gravitationsstörungen bei der Beschleunigung usw. zu berücksichtigen.

Ich habe die letzte Woche bis zu 80 Stunden damit verbracht, daran zu arbeiten, damit mein Buch so genau wie möglich sein kann. Vor diesem Hintergrund wäre es für mich nahezu unmöglich, alle meine Arbeiten zu diesem Thema einzubeziehen. Jede Unterstützung, die Sie anbieten möchten, damit ich mit diesem Roman vorankommen kann, wäre sehr dankbar.

Definiere falsche Zahlen.
Sie scheinen ein Diagramm als notwendigen Schritt erstellen zu wollen, um "genaue" Geschwindigkeitswerte aus Zeit und Beschleunigung zu erzeugen. Die Grafik scheint überflüssig und schädlich für Ihr Ziel - wäre es nicht einfacher, schneller und genauer, das Ergebnis einfach mit einem Taschenrechner (oder einer dreizelligen Tabelle) zu berechnen?
Möglicherweise haben Sie Recht und es wäre eine gute Sache zu produzieren, und ein bisschen Unterstützung dabei wäre sehr dankbar. Ich bevorzuge ein Diagramm für den Visualisierungsaspekt, der möglicherweise auf sinnvolle Weise in das Buch aufgenommen werden könnte. Im Moment würde mich eine Tabelle in Schwung bringen, aber ich hätte immer noch gerne die Grafik und das Wissen, mit dem sie erstellt wurde.
(0,5 * 30,9592\right) x^2 + 3070x + 0 ........ Wenn ich das zeichne, erhalte ich eine Parabel, die für die Daten, die ich habe, überhaupt keinen Sinn ergibt.
(.5 30.9592) x^2 + 3070x + 0 ..... bearbeiten
Bei der grafischen Darstellung ergibt diese Gleichung einen Scheitelpunkt am Punkt -99 x -152214 und kreuzt die x-Achse bei 0x0. das sollte einfach nicht der Fall sein, wenn ich das richtig verstehe, was ich wahrscheinlich nicht bin.

Antworten (1)

Ich bin mit der grafischen Darstellung in Python besser vertraut als mit der Sprache, die Sie verwenden. Das folgende Code-Snippet erzeugt das gewünschte Diagramm:

import numpy as np
import matplotlib.pyplot as plt

# sci fi velocity graph
D = 160934400000     # m
v_i = 3070           # m/s
total_time = 40*3600 # seconds: 40 hours

# to cover half the distance in half the time, we solve
# x(t) = x(0) + v_0*t + 0.5*a*t*t
# x(0) = 0
# x(t) = D/2
# t = total_time / 2 = th
th = total_time / 2
xt=D/2
a = 2.0*(xt/th-v_i)/th

print 'acceleration needed is %.2f m/s^2'%a
# this prints out 30.96 m/s^2 - encouraging

# calculate position during acceleration phase - every second:
tm = 20*3600 # time at mid point
x=[]
for t in range(0,tm+1):
    x.append(v_i*t + 0.5 * a * t * t)

xm = x[-1] # position at mid point

for t in range(tm+1, 2*tm):
    x.append((v_i + tm*a)*(t-tm) - 0.5 * a * (t - tm) * (t - tm) + xm)

time = np.arange(0,2*tm)/3600.0

plt.close('all')
plt.figure()
plt.plot(time, np.array(x)/1000)
plt.xlabel('time (hr)')
plt.ylabel('position (km)')
plt.show()

v_t = np.diff(x)
plt.figure()
plt.plot(np.array(x[:-1])/1000,v_t/1000)
plt.xlabel('position (km)')
plt.ylabel('velocity (km/s)')
plt.show()

plt.figure()
plt.plot(time[:-1], v_t/1000)
plt.xlabel('time (hr)')
plt.ylabel('velocity (km/s)')
plt.show()

Daraus ergibt sich folgendes Diagramm:

Geben Sie hier die Bildbeschreibung ein

Sie können die Geschwindigkeit auch als Funktion der Zeit darstellen:

Geben Sie hier die Bildbeschreibung ein

Oder als Funktion der Position:

Geben Sie hier die Bildbeschreibung ein

Kommentar in der Programmierung: Numpy ist ein bisschen ausdrucksstärker in der Array-Mathematik als Sie verwenden. Obwohl ich sicher bin (hoffe), dass es der Klarheit halber war, dachte ich nur, ich sollte darauf hinweisen.
@KyleKanos Ja - ich habe mich entschieden, hier nicht auf Python zu setzen, da dies mein Publikum wahrscheinlich verwirren würde. Eigentlich hatte ich ursprünglich einen strafferen Code mit mehr Erklärungszeilen und entschied mich dann, einfacher zu werden. So ist es einfacher zu folgen / zu übersetzen?
Ich muss sagen, dass es tatsächlich auf die 1,6E11-Meter hinauslaufen soll, aber ich habe in der Erklärung einen Buh gemacht. das ist in Ihrem Diagramm enthalten. es sollte bis zum halben Punkt beschleunigen und bis zum Endpunkt verzögern. von 0 bis 40 sollte es eher wie eine Glockenkurve erscheinen.
Ich zeichne die Position, nicht die Geschwindigkeit, entlang der Y-Achse auf. Die Steigung dieser Kurve ist die Geschwindigkeit – Sie sehen, wie sie sich in der ersten Hälfte beschleunigt und in der zweiten Hälfte verlangsamt. Wenn Sie möchten, können Sie die Geschwindigkeit (die gegen die Zeit aufgetragen ein Dreieck wäre) oder sogar die Geschwindigkeit als Funktion der Position (anstelle der Zeit) darstellen. Ich habe diese Grafiken hinzugefügt. Habe ich Sie richtig verstanden?
Sie haben 0 bis 2500 auf dem Diagramm der Geschwindigkeitsposition. Die maximale Geschwindigkeit der Reise beträgt meines Erachtens 1117,6 km / s. Können Sie bitte den Code zu jedem Diagramm posten, wenn möglich. Ich sollte in der Lage sein, sie in Java zu übersetzen oder mein Programm in Py umzuschreiben. Ich kann gut programmieren, aber in Mathe im Allgemeinen war meine Ausbildung etwas mangelhaft. thx sehr. :)
Ich sage Ihnen was, wenn es eine Möglichkeit gibt, direkt zu kommunizieren, werde ich die Programme in beiden Sprachen schreiben, damit Sie sie für zukünftige Referenzzwecke haben können. Sowie Post sie hier für alle.
Wenn die Beschleunigung etwa 30 m/s^2 beträgt und Sie 20*3600 Sekunden beschleunigen, muss die Höchstgeschwindigkeit etwa 2160 km/s betragen. Ich fürchte, Sie haben die "durchschnittliche Geschwindigkeit" verwendet, um Ihre Zahl zu ermitteln: Gesamtstrecke geteilt durch Gesamtzeit. Das ist nicht die maximale Geschwindigkeit ... Was den Code zum Zeichnen der anderen Diagramme betrifft - ich werde meine Antwort aktualisieren.
Kannst du mir bitte die Gleichung dafür zeigen?
Bei konstanter Beschleunigung errechnet sich daraus die Geschwindigkeit zu einem gegebenen Zeitpunkt
v ( T ) = v ich + A T
Dann habe ich ein Problem, von dem ich nicht wusste, dass ich es hatte. Ich habe Entfernung, Zeit, Anfangsgeschwindigkeit und Masse. Ich brauche Endgeschwindigkeit, Beschleunigung und Schub. Bitte schauen Sie sich meinen obigen Code an und sagen Sie mir, wo ich falsch gelaufen bin. Nach dem, was Sie sagen, kann ich die richtige Geschwindigkeit nicht berechnen, weil ich keine Beschleunigung habe, und ich kann keine Beschleunigung berechnen, weil ich nicht die richtige Geschwindigkeit habe. Scheint mir ein Stein an einem harten Ort zu sein. Lol
Sie haben die Gesamtstrecke; und ich nehme an, Sie verbringen die Hälfte der Zeit mit Beschleunigen und die andere Hälfte mit Verzögern. Wenn Sie sich die Kommentare in meinem Code ansehen, können Sie sehen, wie ich das verwende, um die Beschleunigung zu bestimmen A benötigt (dies bringt Sie mit der gleichen "Flucht" -Geschwindigkeit an Ihr Ziel, mit der Sie begonnen haben). Das große Problem mit Ihrem Code ist natürlich die Masse der Rakete. Welchen Antrieb Sie auch immer verwenden, Ihre Masse wird sich im Laufe der Fahrt erheblich ändern (einen Motor 40 Stunden lang zu verbrennen, um 3 g Beschleunigung zu erzielen – verbraucht ziemlich viel Kraftstoff!). Das ist dein eigentliches Problem
Die Masse spielt keine Rolle, da das Schiff einen experimentellen Magnetantrieb verwendet. Die Masse ändert sich nicht. Die Sonne ist ein ziemlich großer Treibstofftank. :) Vielen Dank für Ihre Hilfe.
Warum hat diese Antwort nicht mehr Upvotes?
ich würde wenn ich könnte
? Ich bin bisher der Einzige, der dafür gestimmt hat. Ich bin mir ziemlich sicher, dass Sie sowohl positiv abstimmen als auch eine Antwort akzeptieren können :)
@CoilKid - Sie brauchen eine bestimmte Menge an Wiederholungen (nicht viel), um zu stimmen. texasman ist noch nicht da.
Oh, richtig. Wie konnte ich das vergessen... Entschuldigung :/
physical.stackexchange.com/questions/189947/… zusätzliche Frage zu demselben Problem hier. :)