In[]:=
ClearAll["Global`*"](*inputparameters*)tend=2π;repeats=2;(*DE-system*)bwgl:=x''[t]+x[t]f[t](*initialcondition*)x0=0;xdot0=0;(*solving*)(*12forceacting*)f[t_]:=(1-x[t])*Sin[t]sol1:=Reap[NDSolve[{bwgl,x'[0]xdot0,x[0]x0,WhenEvent[{x[t]0&&x'[t]<0},Sow[t]]},x,{t,0,tend}]]t1=sol1[[2,1,1]];x1=x/.sol1[[1,1]];x1dot=x'/.sol1[[1,1]];x1dotdot=x''/.sol1[[1,1]];(*23noforceacting*)f[t_]:=0sol2:=NDSolve[{bwgl,x'[t1]x1dot[t1],x[t1]x1[t1]},x,{t,t1,tend}]t2=tend;x2=x/.sol2[[1,1]];x2dot=x'/.sol2[[1,1]];x2dotdot=x''/.sol2[[1,1]];(*12forceacting,*)f[t_]:=(1-x[t])*Sin[t]sol1b:=Reap[NDSolve[{bwgl,x'[tend]x2dot[tend],x[tend]x2[tend],WhenEvent[{x[t]0&&x'[t]<0},Sow[t]]},x,{t,tend,repeats*tend}]]t1b=sol1b[[2,1,1]];x1b=x/.sol1b[[1,1]];x1dotb=x'/.sol1b[[1,1]];x1dotdotb=x''/.sol1b[[1,1]];(*23noforceacting*)f[t_]:=0sol2b:=NDSolve[{bwgl,x'[t1b]x1dotb[t1b],x[t1b]x1b[t1b]},x,{t,t1b,repeats*tend}]t2b=repeats*tend;x2b=x/.sol2b[[1,1]];x2dotb=x'/.sol2b[[1,1]];x2dotdotb=x''/.sol2b[[1,1]];(*plots*)xAll[t_]:=
xdotAll[t_]:=
Plot[xAll[t],{t,0,repeats*tend}]Plot[xdotAll[t],{t,0,repeats*tend}]
|
|
Out[]=
Out[]=