[Date Index] [Thread Index] [Author Index]
Re: using FindRoot to find multiple answers in a domain?
In article <ed3rou$rv5$1 at smc.vnet.net>, "akil" <akomur at wanadoo.nl> wrote: > IntervalRoots package and RootSearch do not work for the kind of formulas I > have. Are you sure? > For example in the domain [0,Pi/2] we want to solve (I only used FindRoot > because this was the fastest): > > I put the package I test in on > http://home.wanadoo.nl/akomur/testRootSearch.nb so that you can see the > formulas I use. > > Copying them In here ruins the formulas. Copy as Plain text. Your first formula is nlv = Max[-81.24275115593154 Cot[beta] - 48.489352280270914, Min[-46.844746272761526 Cot[beta] - 71.4213555357176, -46.480384751324436 Cot[beta] - 71.66426321667566]] Note that PiecewiseExpand can be applied to such formulae. If you simplify the result Simplify[PiecewiseExpand[nlv]] you deduce that nlv is just -81.24275115593154 Cot[beta] - 48.489352280270914 if Cot[beta] <= 2/3 -46.844746272761526 Cot[beta] - 71.4213555357176 if Cot[beta] >= 2/3 You can check that these values are consistent when Cot[beta] == 2/3. Moreover, the catch-all condition -46.480384751324436 Cot[beta] - 71.66426321667566 is redundant for real beta since it only applies when Cot[beta] == 2/3. A brief examination of nuvb shows that it involves ratios of (powers of) expressions similar to nlv. I expect that simplification of these expressions prior to constructing nuvb would lead to a final form that is not that hard to handle. I expect that if you step back and tell us more about the original problem, then a more elegant approach would present itself. Cheers, Paul _______________________________________________________________________ Paul Abbott Phone: 61 8 6488 2734 School of Physics, M013 Fax: +61 8 6488 1014 The University of Western Australia (CRICOS Provider No 00126G) AUSTRALIA http://physics.uwa.edu.au/~paul