Två massor av olika storlek hänger från taket, ihopkopplade med fjädrar som i bilden till höger. Deras vertikala positioner x och y bestäms då av de ordinära differentialekvationerna
x″ = − − 1, y″ = −ηy′ + ()(x − y) − 1,
där η är en friktionskoefficient för den undre fjädern. Vid släpps massorna från vila i läget x = −1.5 och varför
x(0) = −1.5, x′(0) = ′(0) = 0.
Vi vill beräkna massornas rörelse x(t) och y(t).
(a) Skriv om ekvationerna som ett system av första ordningens differentialekvationer på formen
u′ = F(t, u), ₀.
I ditt svar ska det klart framgå vad u, F(t, u) och u₀ är.
(b) Skriv ett MATLAB-program som beräknar x(t) och y(t) fram till med η = 0.05. Programmet ska använda Framåt Euler-metoden. Det ska skriva ut x(20) och y(20).
(c) Utöka ditt program med kod som räknar ut hur lång sträcka massorna (totalt) rört sig efter 20 tidsenheter, genom att beräkna integralerna
L₁ = ∫₀²⁰ |x′(t)|dt, L₂ = ∫₀²⁰ |y′(t)|dt.
Not: Du får inte använda inbyggda MATLAB-funktioner för integralberäkning.
(d) Beskriv hur man kan gå tillväga för att uppskatta det numeriska felet i approximationen av L₁ och L₂.
(e) När friktionskoefficienten η är stor blir systemet styvt och man behöver använda en implicit ODE-metod istället för Framåt Euler. Välj en implicit metod och modifiera ditt MATLAB-program i deluppgift (b) så att det använder denna metod för att beräkna x(t) och y(t) fram till
Du ser bara uppgiftslydelsen
Svarsalternativ, facit, figurer och formler — och resten av kursens uppgifter — finns bakom ett gratis konto.