I am trying to numerically solve a system of three nonlinear equations with FindRoot.
But FindRoot seems to be having trouble with one the variables and it keeps insisting that the variable should be a list. Why is this happening? Is there someway I can tell the function how to understand that the variable is just another numerical unknown?
The code I am running is as shown in the image.
Edit
When I provide a starting point for all variables, Findroot retunrns the following error:
FindRoot::cvmit: Failed to converge to the requested accuracy or precision within 100 iterations."
and the problem once again seems to be the isolated variable.
$Assumptions =
b ∈ Reals && L ∈ Reals && c + L > 0 && c - L < 0 &&
n ∈ Integers && L > 0;
FindRoot[
{(7.2 *A *b (E^(-b *(7.2 + c)) π + π Cos[0.4363323129985824*c] -
7.2*b*Sin[0.4363323129985824*c]))/(162.8601631620949* b^2 + π^3) == -1.19489,
(7.2*A*b (-2 E^(-b *(7.2 + c)) π + 2 π Cos[0.8726646259971648*c] -
7.2*b*Sin[0.8726646259971648*c]))/
(325.7203263241898* b^2 + 8 π^3) == -0.779047,
(7.2*A*b (3 E^(-b*(7.2 + c)) π + 3 π Cos[1.3089969389957472*c] -
7.2*b*Sin[1.3089969389957472* c]))/
(488.58048948628465*b^2 + 27 π^3) == -0.16887},
{{A, 5}, {b, 3}, {c, 2.38333333333333333333}}]


b. – Henrik Schumacher Mar 17 '18 at 19:16FindRootessentially employs Newton's algorithm and the latter is known to perform well if 1) the linearization of the equations is always a solvable linear system and if 2) the starting points are close to a (locally unique solution. Unfortunately, it does nasty things if one of these conditions is not satisfied... – Henrik Schumacher Mar 17 '18 at 19:21InputFormand paste it here) so that other users can experiment with it. – Henrik Schumacher Mar 17 '18 at 19:22MaxIterations. But more importantly you should find a good initial guess. – anderstood Mar 17 '18 at 19:38MaxIterationsoption to a desired value. Look also on the documentation page ofFindRootfor other options to tune it. – Henrik Schumacher Mar 17 '18 at 19:38{A -> 10.6972, b -> 0.445259, c -> 2.97381}or{A -> 11.505, b -> 0.411923, c -> 17.4012}or{A -> -666.251, b -> 3.47452, c -> 0.273296}. – anderstood Mar 17 '18 at 19:41FindRootfollows a path for which the function gets closer to zero but never reaches it. For simpler examples, considerFindRoot[(x - 2)/(x^2 + 4), {x, 0}]andFindRoot[(x - 2)/(x^2 + 4), {x, 6}]or perhapsNeeds@"Optimization`UnconstrainedProblems`"; FindRootPlot[(x - 2)/(x^2 + 4), {x, 6}]. See also this tutorial. For multivariate problems, the picture can be more complicated. – Michael E2 Mar 18 '18 at 13:15