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] /. 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]}, {p, 0}, {m0, 10}] ```` It is not working. Clearly, I'm asking `FindRoot` to look for two roots with only one equation. I'm not sure how to use `FindRoot` to satisfy the conditions: ```` x[1/2] == 0, \[Theta][1/2] == 0 ```` I'm also not sure what a reasonable guess is for `m0`, but that is less of a concern. 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)][3] [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://www.sciencedirect.com/science/article/pii/S0263823118304166