0 svar
71 visningar
emelie1234 354
Postad: 3 okt 2023 09:35

Matlab

Hej vet någon hur man löser denna i Matlab? Jag har försökt men kommer ingen vart. 

 

Låt oss först försöka simulera ett fallskärmshopp.
Vi tänker oss ett uthopp från 3000 meters höjd, utan vertikal initialhastighet. Hopparen låter sig först falla ’fritt’ en stund, utan aktiverad fallskärm. Men då marken börjar närma sig, på 1000 meters höjd, löser hen ut fallskärmen. Vi antar, för enkelhets skull, att fallskärmen då vecklar ut sig momentant.
Hopparen (inkl. fallskärm) antas ha massan m = 70 [kg]. Tyngd-accelerationen antas vara g = -9.82 [m/s2].
Hopparens höjd över mark väljer vi att beteckna med y [m] och dess tidsderivata, vertikalhastigheten, betecknar vi med v[m/s]. Vi har då att y’ = v och, enligt Newton, att mv’ = f, där f är summan av verkande krafter. I detta fall utgörs dessa av tyngdkraften mg, nedåtriktad p.g.a. tecknet på g, och friktionskraften, uppåtriktad p.g.a. nedåtriktad hastighet.
Den friktionskraft som verkar på hoppare och skärm antas för enkelhets skull vara direkt proportionell
mot (den negativa) hastigheten v, och att därför kunna skrivas på formen c(-v) = -cv för något c > 0.
Här är c oberoende av v. Men c = c(y), eftersom friktionskraften ju inte bara beror på farten utan också på storlek och form på det objekt på vilket friktionen verkar. D.v.s. den beror i detta fall på om fallskärmen är aktiverad eller inte, vilket ju i sin tur beror på aktuell höjdkoordinat y.
Låt oss här anta att c = 12.3 medan y > 1000, d.v.s. innan fallskärmen aktiverats, och att
c = 123 då y ≤ 1000, d.v.s. efter att skärmen aktiverats. Ett fungerande uttryck för c borde då kunna vara (kontrollera detta!)
c = @(y) 12.3*(y > 1000) + 123*(y <= 1000).
Nu har vi alla data tillgängliga för att med hjälp av lösaren ode45 kunna beräkna tillståndet z = [y;v] som funktion av tiden t, givet att vi med en funktion f = f(t,z) lyckas beskriva hur tillståndet z förändras med tiden, d.v.s. z’, samt ange ett önskat tidsintervall, och initialvärden för tillståndet.  
Plotta hopparens hastighet och lägeskoordinat separat, som funktioner av tiden t med hjälp av matlabs subplot med lämpliga texter på axlarna.
Vilken maxfart uppnås? Med vilken fart tar hopparen mark, och hur lång tid har då gått sedan uthoppet.
Approximativa svar på dessa frågor hittar man förstås i plottarna.
Hopptiden, som ju motsvaras av att y = 0, kan dock elegantare beräknas med hjälp av ekvationslösaren fzero, sedan höjdlägesdatan konverterats till en motsvarande funktion med hjälp av interp1.
När hopptiden är beräknad kan även motsvarande nedslagsfart beräknas, sedan även hastighetsdatan konverterats till en funktion med interp1.

Svara Avbryt
Close