I have a system of differential equations that I have numerically integrated to produce solutions. See below:
ClearAll["Global`*"]
dq = q'[z] == -(2 q[z]^2 + q[z] - 1)/(z + 1);
dy = y'[z] == (2 q[z]^2 + q[z] - 1)/(z + 1);
dh = h'[z] == h[z] (1 + q[z])/(z + 1);
dv =
v'[z] ==
(-x[z] (x[z] - q[z]) + 2 (x[z] + q[z]) - 3 (-v[z] + x[z] + q[z]) + 2 +
(-v[z] + x[z] + q[z]) (x[z] - 2 q[z] + 1) + 2 q[z]^2 + q[z] - 1)/(z + 1);
dx = x'[z] == -(-x[z] (x[z] - q[z]) + 2 (x[z] + q[z]) - 3 (-v[z] + x[z] + q[z]) + 2)/(z + 1);
sol = NDSolve[{dq, dy, dh, dv, dx, q[20] == 0.499, y[20] == 1 - 0.499, h[20] == 54.0176,
v[20] == 0.5, x[20] == 0}, {q[z], y[z], h[z], v[z], x[z]}, {z, 20, 0}]
Plotting one of the solutions:
R[z_] = (y[z] /. sol)
Plot[R[z], {z, 0, 20}]
Now I want to find the inverse of R[z] i.e. z[R]. I have tried InverseFunction:
z[R_] = InverseFunction[R][z]
But this only gives me R^{-1}[z] as an output and when I try to plot z[R], nothing appears. Please help.
R
should readR[z_] = (y[z] /. sol[[1]]);
Then if you want to plot the inverse you can just useParametricPlot[{R[z], z}, {z, 0, 20}, AspectRatio -> 1]
$\endgroup$