example 5.4 p.63

eq = y'[x] == -2 x  y[x]

ans1 = DSolve[eq, y[x], x]
yx = y[x] /. ans1[[1]]

ans2 = Solve[(yx /. x ->  0) == 1, 
          C[1]][[1]]

yxa = yx /. ans2

Plot[{yx /. C[1] ->  1, yx /. C[1] ->  2, 
        yx /. C[1] ->  4, yx /. C[1] ->  8}, {x, -3, 3}, 
      PlotRange ->  {0, 10}]

another solving

ans3 = DSolve[{eq, y[0] == 1}, y[x], x]

example 5.5

eq = v'[r] v[r] == -g R^2/r^2

ans = DSolve[{eq, v[R] == v0}, v[r], r]

vr = v[r] /. ans[[2]]

para = {R ->  6372 10^3, g ->  9.8}

v10 = vr /. r ->  R k /. para /. 
        v0 ->  10 10^3
v11 = vr /. r ->  R k /. para /. 
          v0 ->  11.2 10^3;

Plot[{v10, v11}, {k, 1, 10}, PlotRange ->  {0, 1.5 10^4}, 
      GridLines ->  Automatic]

example 5.6

eq = h'[t] == -k Sqrt[h[t]] + q

ans1 = DSolve[{eq, h[0] == 1}, h[t], t]

para = {h0 ->  1, k ->  0.1, q ->  0.05}

ans2 = 
      NDSolve[{eq, h[0] == h0} /. para, 
        h[t], {t, 0, 100}]
zu2 = 
      Plot[h[t] /. ans2, {t, 0, 100}, PlotRange ->  {0, 1}, 
        GridLines ->  Automatic, 
        PlotStyle ->  Hue[0.9]]

ans3 = 
      NDSolve[{eq, h[0] == h0} /. q ->  0.025 /. para, 
        h[t], {t, 0, 100}]
zu3 = 
      Plot[h[t] /. ans3, {t, 0, 100}, PlotRange ->  {0, 1}, 
        GridLines ->  Automatic, 
        PlotStyle ->  Hue[0.7]]

ans4 = 
      NDSolve[{eq, h[0] == h0} /. q ->  0.001 /. para, 
        h[t], {t, 0, 100}]
zu4 = 
      Plot[h[t] /. ans4, {t, 0, 100}, PlotRange ->  {0, 1}, 
        GridLines ->  Automatic, 
        PlotStyle ->  Hue[0.5]]

ans5 = 
      NDSolve[{eq, h[0] == h0} /. q ->  0.075 /. para, 
        h[t], {t, 0, 100}]
zu5 = 
      Plot[h[t] /. ans5, {t, 0, 100}, PlotRange ->  {0, 1}, 
        GridLines ->  Automatic, 
        PlotStyle ->  Hue[0.3]]

Show[zu2, zu3, zu4, zu5]