Having trouble when using a piecewise function

I am trying to define a function where H1[x_]= a previously derived value if 0 < x <100 and H1[x_]=x if x>100 so I have used the following piecewise function: H1[x_]:=Piecewise[{{Evaluate[y[x] /. s],0 < x < 100},{x, x > 100}}]. However when I plot this H1[x_] function it gives the graph after entering the following Plot[H1[x],{x,1,200}] Does anyone know why it is not taking the value of H1[x_]=x after x=100? thank you for your help

• ... what is s? – kglr Aug 30 '19 at 20:49
• s = NDSolve[{y'[x] == f[x, y[x], -1.5, 1.25, 2, 1], y[100] == 99}, y, {x, 1,100.005}] where f is defined as: – Max Toon Aug 30 '19 at 20:50
• f[x_, y_, m_, n_, p_, K_] := (p x^(p - 1) y ((m + 1) (x/y)^n - (n + 1) (x/y)^m))/(((m + 1) (n + 1) x^p - n m K y) ((x/y)^n - (x/y)^m)) – Max Toon Aug 30 '19 at 20:50
• Thank you Max Toon. Please update your question with the information about f and s. – kglr Aug 30 '19 at 21:04

Use Evaluate[y[x] /. s[[1]]] instead of Evaluate[y[x] /. s] to get