Runge kutta
Hejsan, jag ska lösa ett system av diffekvationer som beskriver en kastbana. För att hitta x och y värderna använder jag runge kutta 4 men efter det gör jag linjär interpolering för att mer noggrant hitta vinkel samt x och y värderna i en while loop.
Min fråga är: kan jag uppnå en millimeters noggranhet eller mer i rungekutta och hoppa över interpoleringen, och hur gör jag då i runge kutta för att få en specifik noggranhet?
Varför interpolering? Med RK4 så kan du väl stega dig fram till den tidpunkt du vill?
Tillägg: 3 dec 2021 19:43
Angående noggrannhet så kan du testa din numeriska lösning mot ett exakt lösbart fall, t.ex en kastbana utan luftmotstånd. Det ger väl i alla fall ett hum om noggrannheten för mer komplicerade fall.
Jo frågan söker att man ska hitta alla kastvinklar som ger en kastbana som landar på 12 meter. Som jag har förstått det kan man inte ge RK4 en specifik noggranhet. Men jag undrar om man på något sätt kan komma runt det. Med tex richarsonextrapolation kan jag minska felet, men finns det något sätt att kolla så felet är mindre än tex 10^-6.
Du kan inte veta hur stort felet är från bara en RK4, men om du kör flera med olika steglängd så kan du nog få en uppfattning.
Det man vet är att det summerade felet är O(h4), vilket för små h i princip betyder k*h4, där k är en okänd konstant (som beror på h).
Tillägg: 3 dec 2021 22:20
Prov att lösa exakt! Hur lyder frågeställningen?
Detta är frågan, plus att det ska vara minst en millimeters noggranhet.
Aha, då var det med luftmotstånd, så exakt lösning blir i bästa fall jobbig, så strunta i det.
I praktiken brukar man minska steglängden till dess att resultatet "inte ändras nämnvärt", vad nu exakt det betyder.
Spontant så skulle jag se hur mycket stenen rör sig mellan dina tidssteg vid laddningen. Är det mycket mindre än 1 mm i x-led så är det nog lugnt.