I am trying to plot implicitly a transcendental equation where one of the parameters (lambda) is given by another transcendental equation which, in this case, I can solve. Therefore, I defined lambda as

\[Lambda][St_, Le_, \[Rho]_, cp_, k_, \[Kappa]_, ms_, ml_, Di_, \[Alpha]_] :=
     x /. FindRoot[(cl\[Infinity] F[-x/Sqrt[Di]] - cs\[Infinity] F[x])/
     (F[-x/Sqrt[Di]] - F[x] ((1 - \[Alpha]) F[-x/Sqrt[Di]] + \[Alpha])) + 
    ml (\[Rho] F[x/Sqrt[Le]] (cp St Ts\[Infinity] - F[-x/Sqrt[Le \[Kappa]]]) -
    St Tl\[Infinity] F[-x/Sqrt[\[Kappa] Le]])/(St (cp \[Rho] F[x/Sqrt[Le]] -
    F[-x/Sqrt[\[Kappa] Le]])), {x, 1}]

where F[x] is a function that I have defined. Then, I define a quite convoluted function (called marg) where lambda appears several times. As I want to plot the curve where marg=0 varying two of the parameters, I use

ContourPlot[marg[St, Le, \[Rho], cp, k, \[Kappa], ms, ml, Di, \[Alpha]] == 0, {k, 0, 10}, {\[Kappa], 0, 10}, FrameLabel -> {"k", "\[Kappa]"}, PerformanceGoal -> "Quality"]

Everything worked perfectly but suddenly I started getting a lot of warnings (even though I still obtain the plots and they haven't changed from the ones I got without warnings). Some of the warnings are the following

  • FindRoot::nlnum
  • ReplaceAll::reps
  • FindRoot::cvmit

I attach a screenshot with all the warning messages in case it helps.

Screenshot with the warnings

How can I sort it out? Thank you very much in advance!

  • $\begingroup$ you should define lambda and marg so they only take numeric arguments. ( do k_?NumericQ in the arg lists ) . Be sure to clear old function defs when you do that ) $\endgroup$ – george2079 Nov 22 '16 at 19:07
  • $\begingroup$ It worked, thank you very much! $\endgroup$ – Ferran Brosa Planella Nov 23 '16 at 12:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.