# findroot, derivative in defined functions

I apologize for my unclear question, I will write it in a more detailed way.

I first define:

g[τ_, ϵ_] := c /. FindRoot[2. c^4 - 1.6931471805599454 c^4 τ -
0.8611473146305157 τ^2 +
0.25 τ^2 Log[ϵ^(1/6)/c^(
2/3)] + (1. c^4 +
0.6732867951399863 τ) τ Log[τ] -
0.125 τ^2 Log[τ]^2 -
0.25 τ^2 Log[-0.6931471805599453 + Log[τ]], {c, 1000}]


The function I am trying to solve is as follows:

]1

I can plot $\zeta_2 (r)$ in the region $1<r<\tau/2$ for different values of $a, \tau, \epsilon$, where $a>0$, $\tau>2$, $10^{-7}<\epsilon<10^{-2}$. what I need to do is to find the smallest value of r satisfying $\zeta_2(r)=0$. I use Findroot to do it. but it does not work well all the way through the parameter region.

The second question is that supposing we find the smallest value of $r$, which is $h[a,\tau,\epsilon]$, I need to do a integration, which is defined as:

w[a_, τ_, ϵ_] := Integrate[Evaluate[{Subscript[ζ, 2][r]^2} /. f[a, τ, ϵ]], {r, 1, h[a,τ, ϵ]}]


As a test, I choose $a=1, \tau=5, \epsilon=10^{-6}, h(a,\tau,\epsilon)=1.2$, but $w(1,5,10^{-6})$ does not return me a number. So how should I define $w$ to get a number?

The last question is if I have got the right definition of $w$, set the derivative $D[w,{a,1}]=0$, and find $a$ in terms of $\tau, \epsilon$. I am getting stocked by doing the derivative of functions. Thanks very much. By the way, I hope this time that Mr.Wizard won't wasting time on revising my writing. I am really sorry

-

I have never understood why WRI would not incorporate Ted Ersek's RootSearch routine into Mathematica. It is true that RootSearch is restricted to 1-dimensional roots along a path and FindRoot will handle multi-dimensional roots. Also many roots can be obtained by Solve or Reduce and probably various algebraic methods. But these are often not obvious to use. RootSearch is easy to use to find numerical roots, intuitive and it applies to many common problems. So here is an example. Since you haven't supplied us with an example I've made up one that should be good enough.

<< ErsekRootSearch

f[x_] := Sin[100 x] + Cos[50 x] + x - 1.830
Plot[f[x], {x, 0, 1}]


roots = RootSearch[f[x] == 0, {x, 0, 1}, PrecisionGoal :> 25]
{{x -> 0.1342401536562234144657613},
{x -> 0.1425470784657371848184752},
{x -> 0.2576641634599237715747900},
{x -> 0.2703039062616023447786570},
{x -> 0.3816011520392444127374391},
{x -> 0.3975359955533713429773951},
{x -> 0.5057681048545612636327423},
{x -> 0.5245246522191860737400116},
{x -> 0.6300648404511711207196194},
{x -> 0.6513679694342461184637879},
{x -> 0.7544406174842106100577210},
{x -> 0.7781141014717457963000968},
{x -> 0.8788641445373034149609143},
{x -> 0.9047910841068439265967640}}


Here we take the first root and check it.

f[x] /. First[roots]
0.*10^-24

-