# R-Code zu Aufgabe 2d,e) mu = 1/50 y0 = 1 T = 200*pi dt = 0.0001 tt = seq(0,T,dt) nt = length(tt) nt x = rep(0,nt) y = rep(0,nt) q = rep(0,nt) y[1] = y0 q[1] = 0 t0 = Sys.time() for(k in 1:(nt-1)) { tk = tt[k] om2 = 1 - mu^2 * (sin(mu*tk))^2 - mu^2 * cos(mu*tk) y[k+1] = y[k] + q[k]*dt q[k+1] = q[k] - om2*y[k]*dt } Sys.time() - t0 Gamma = exp(-(1-cos(mu*tt)) ) x = Gamma * y xapprox = Gamma * cos(tt) kplot = as.integer(seq(1,nt,length=20000)) plot(tt[kplot],x[kplot], xlab="Zeit t", ylab="x(t)", main="approximate (red) vs. exact (black) solution") points(tt[kplot],xapprox[kplot],col="red",cex=0.4)