Funktion Schiefer Wurf
Verfasst: Donnerstag 20. Mai 2021, 13:47
Hallo zusammen,
ich habe im Zusammenhang einer Aufgabe, die Formel des schiefen Wurfes in einem Programm zu beschreiben. Dazu sollen mit der linspace Funktion beliebige x-Werte zu generieren und diese dann graphisch darzustellen.
Ich habe soweit mein Programm geschrieben, dass es ggf. negative Werte mittels einer while Schleife als falsch ausgibt.
Hier nun meine Frage:
Warum gibt mir das Programm nun keine Möglichkeit, meine Eingabewerte (h0, v0, ä0) einzugeben und zeigt mir in meiner Formel zu Berechnung der Höhe an, dass die Werte somit undefiniert sind? Wie stelle ich es richtig da, dass ich als Benutzer Werte einzugeben habe und dann die Werte auch berechnet werden und als verschiedene Wurfhöhen Werte h ausgegeben werden?
Hier der Code:
from math import (tan, cos)
import numpy as np
def Abwurfhöhe(h0):
h0 = -1
while h0 < 0:
h0 = float(input("Bestimme die Abwurfhöhe h0 [m]"))
if h0 < 0:
print("Negtive Werte sind unzulässig")
return (h0)
def Abwurfgeschwindigkeit(v0):
v0 = -1
while v0 < 0:
v0 = float(input("Bestimme die Abwurfgeschwindigkeit v0 [m/s]"))
if v0 < 0:
print("Negtive Werte sind unzulässig")
return v0
def Abwurfwinkel(ä0):
ä0 = -1
while ä0 < 0:
ä0 = float(input("Bestimme den Abwurfwinkel ä0 [Grad]"))
if ä0 < 0:
print("Negtive Werte sind unzulässig")
return ä0
x = np.linspace(0, 10, 10)
g = 9.81
h0 = Abwurfhöhe(h0)
v0 = Abwurfgeschwindigkeit(v0)
ä0_rad = np.deg2rad(Abwurfwinkel(ä0))
def Wurfhöhe(h):
h = h0 + x*tan(ä0_rad) - (g/(2*v0**2*cos(ä0_rad)**2))*x**2
return h
def Wurfhöhe(h):
h = h0 + x*tan(ä0_rad) - (g/(2*v0**2*cos(ä0_rad)**2))*x**2
return h
Vielen Dank für jeden Hinweis
ich habe im Zusammenhang einer Aufgabe, die Formel des schiefen Wurfes in einem Programm zu beschreiben. Dazu sollen mit der linspace Funktion beliebige x-Werte zu generieren und diese dann graphisch darzustellen.
Ich habe soweit mein Programm geschrieben, dass es ggf. negative Werte mittels einer while Schleife als falsch ausgibt.
Hier nun meine Frage:
Warum gibt mir das Programm nun keine Möglichkeit, meine Eingabewerte (h0, v0, ä0) einzugeben und zeigt mir in meiner Formel zu Berechnung der Höhe an, dass die Werte somit undefiniert sind? Wie stelle ich es richtig da, dass ich als Benutzer Werte einzugeben habe und dann die Werte auch berechnet werden und als verschiedene Wurfhöhen Werte h ausgegeben werden?
Hier der Code:
from math import (tan, cos)
import numpy as np
def Abwurfhöhe(h0):
h0 = -1
while h0 < 0:
h0 = float(input("Bestimme die Abwurfhöhe h0 [m]"))
if h0 < 0:
print("Negtive Werte sind unzulässig")
return (h0)
def Abwurfgeschwindigkeit(v0):
v0 = -1
while v0 < 0:
v0 = float(input("Bestimme die Abwurfgeschwindigkeit v0 [m/s]"))
if v0 < 0:
print("Negtive Werte sind unzulässig")
return v0
def Abwurfwinkel(ä0):
ä0 = -1
while ä0 < 0:
ä0 = float(input("Bestimme den Abwurfwinkel ä0 [Grad]"))
if ä0 < 0:
print("Negtive Werte sind unzulässig")
return ä0
x = np.linspace(0, 10, 10)
g = 9.81
h0 = Abwurfhöhe(h0)
v0 = Abwurfgeschwindigkeit(v0)
ä0_rad = np.deg2rad(Abwurfwinkel(ä0))
def Wurfhöhe(h):
h = h0 + x*tan(ä0_rad) - (g/(2*v0**2*cos(ä0_rad)**2))*x**2
return h
def Wurfhöhe(h):
h = h0 + x*tan(ä0_rad) - (g/(2*v0**2*cos(ä0_rad)**2))*x**2
return h
Vielen Dank für jeden Hinweis