I'm trying to reproduce the results from [1], which solve the equations of an elastic ring (a closed loop elastica) under various loadings. Here is the relevant part: [![enter image description here][1]][1] I need to solve the governing equations in (2), with `m0` and `p` as unknown parameters for a range of prescribed values of `f`. They indicate in the text that they solve these equations using Mathematica with `NDSolve` and `FindRoot`. I found the following question helpful as an example: [How can I use FindRoot on an expression from NDSolve?][2], and so I implemented my code in a similar manner. However, I'm trying to use `FindRoot` to solve for two parameters, and I'm not sure how to use the results of `NDSolve` to get the necessary two equations. Here is my code: ```` sol[p_?NumericQ, m0_?NumericQ, f_?NumericQ] := {\[Theta], x, y, m} /. First@NDSolve[{ x'[s] == Cos[\[Theta][s]], y'[s] == Sin[\[Theta][s]], \[Theta]'[s] == m[s] + 2 \[Pi], m'[s] == f/2 Cos[\[Theta][s]] - p Sin[\[Theta][s]], x[0] == y[0] == \[Theta][0] == 0, m[0] == m0 }, \[Theta], {s, 0, 2 \[Pi]}] FindRoot[{ sol[p, m0, 200][[1]][1/2] == \[Pi], sol[p, m0, 200][[2]][1/2] == 0}, {p, 0}, {m0, -10}] ```` `FindRoot` gives me an error that states: ```` FindRoot: The function value {-3.14159+0.[0.5],(-10)[0.5]} is not a list of numbers with dimensions (2) at {p,m0}={0.,-10.}. ```` It seems to me that `FindRoot` is evaluating things in the wrong order. This feels like the type of Mathematica question that is answered with "Use `?NumericQ`", [for example][3], however I am doing that here, so I'm confused. I have tried wrapping `Evaluate` around the functions in that list, but so far I've had no luck. I suspect the issue is my lack of knowledge of how to call `sol` and use it in `FindRoot` in the presence of `?NumericQ`. For example, it works just fine, and I can visually see the roots when I plot: ```` Plot3D[{sol[p, m0, 200][[1]][1/2], sol[p, m0, 200][[2]][1/2], \[Pi]}, {p, -1, 1}, {m0, -50, 50}] ```` [![Roots for an arbitrary choice of `f`][4]][4] So clearly, the information is there, I just can't access it correctly yet. Any help would be greatly appreciated. [1] L.N. Virgin et al., "Deformation and vibration of compressed, nested, elastic rings on rigid base", Thin-Walled Structures, 132, 167-175, (2018). [Link (Paywall)][5] [1]: https://i.sstatic.net/H1s67.png [2]: https://mathematica.stackexchange.com/questions/23211/how-can-i-use-findroot-on-an-expression-from-ndsolve [3]: https://mathematica.stackexchange.com/questions/18393/what-are-the-most-common-pitfalls-awaiting-new-users/26037#26037 [4]: https://i.sstatic.net/BHyax.png [5]: https://www.sciencedirect.com/science/article/pii/S0263823118304166