moien,
ich hab da folgendes problem. ich habe eine mathematische funktion für eine bwegungsgleichung eines masseteilchens. diese bewegung des teilchens berechne ich für jedes kleine zeitintervall, damit man die neue position hat, die dann als start für das nächste zeit intervall ist. stellt euch das wie beim bogenschießen vor. die startbedingungen habe ich und ich will am ende mit dem pfeil ins ziel treffen. die flugbahn dazu berechne ich mir und schaue dann ganz am ende, ob ich ins ziel getroffen habe und wenn nicht, dann muss ich zb an den parametern was so ändern, dass es nachher ins ziel trifft.
ich habe aber nun mehrere phasen, eine angetriebene phase und eine freiflugphase. diese habe ich dann mehrfach hintereinander, weil ich eine rakete mit mehreren stufen berechnen will.
bei den angetriebene phasen habe ich eine maximale flugdauer bis der treibstoff verbraucht ist, dafür kann ich aber an der richtung was ändern.
bei den freiflugphasen muss ich mit der letzten richtung der angetriebenen phase starten und lasse mich dann von der gravitation beeinflussen. dort kann ich nur die flugdauer verändern bis dann nachher die nächste stufe startet.
das ziel ist dann auf die maximale höhe zum beispiel zu kommen unter einem vorgegebenem winkel.
der ablauf wäre nun dass ich die rechnung einmal nur senkrecht durchführe, damit ich weiss, wo die rakete hinfliegt. aus dem letzten werten zum schluss aller phasen, muss dann der vergleich zwischen aktuellem ort und wirklichem zielort gemacht werden. damit müssen dann verändelrichen parameter vorher wieder geändert werden und verglichen werden, ob das nun besser oder schlechter wird.
ich muss also vorwärts schritt für schritt rechnen, aber bei jedem schritt dann komplett bis zum ende rechnen und von dort aus rückwärts optimieren, um bei diesem schritt den besten parameterwert zu bekommen.
und nun fängt mein programmierproblem an. wie stell ich das an?
hat da jemand eine idee?
grüße, Andreas
ich hab da folgendes problem. ich habe eine mathematische funktion für eine bwegungsgleichung eines masseteilchens. diese bewegung des teilchens berechne ich für jedes kleine zeitintervall, damit man die neue position hat, die dann als start für das nächste zeit intervall ist. stellt euch das wie beim bogenschießen vor. die startbedingungen habe ich und ich will am ende mit dem pfeil ins ziel treffen. die flugbahn dazu berechne ich mir und schaue dann ganz am ende, ob ich ins ziel getroffen habe und wenn nicht, dann muss ich zb an den parametern was so ändern, dass es nachher ins ziel trifft.
ich habe aber nun mehrere phasen, eine angetriebene phase und eine freiflugphase. diese habe ich dann mehrfach hintereinander, weil ich eine rakete mit mehreren stufen berechnen will.
bei den angetriebene phasen habe ich eine maximale flugdauer bis der treibstoff verbraucht ist, dafür kann ich aber an der richtung was ändern.
bei den freiflugphasen muss ich mit der letzten richtung der angetriebenen phase starten und lasse mich dann von der gravitation beeinflussen. dort kann ich nur die flugdauer verändern bis dann nachher die nächste stufe startet.
das ziel ist dann auf die maximale höhe zum beispiel zu kommen unter einem vorgegebenem winkel.
der ablauf wäre nun dass ich die rechnung einmal nur senkrecht durchführe, damit ich weiss, wo die rakete hinfliegt. aus dem letzten werten zum schluss aller phasen, muss dann der vergleich zwischen aktuellem ort und wirklichem zielort gemacht werden. damit müssen dann verändelrichen parameter vorher wieder geändert werden und verglichen werden, ob das nun besser oder schlechter wird.
ich muss also vorwärts schritt für schritt rechnen, aber bei jedem schritt dann komplett bis zum ende rechnen und von dort aus rückwärts optimieren, um bei diesem schritt den besten parameterwert zu bekommen.
und nun fängt mein programmierproblem an. wie stell ich das an?
hat da jemand eine idee?
grüße, Andreas