Re: FindMaximum doesn't work?

• To: mathgroup at smc.vnet.net
• Subject: [mg47952] Re: FindMaximum doesn't work?
• From: suomesta at yahoo.com (Carol Ting)
• Date: Sun, 2 May 2004 04:50:50 -0400 (EDT)
• References: <c6l8p2\$iv6\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```My bad.  I copied it manually and sure enough a couple of typos
sneaked in and messed things up.

Here is the function which I tried to apply FindMaximum to:

Test[c_]:=-10 + (1/(530604*c))*((10 - 185*c + Sqrt[5]*Sqrt[20 +
19660*c + 6641*c^2])^2*(-41 - 134*c + Sqrt[5]*Sqrt[20 + 19660*c +
6641*c^2]))/;(c<=1.4<6.2)

If you plot the function you will see it's decreasing in c with the
maximum at 1.4.  But unless I choose an initial guess of c less than
2.6 Mathematica just throws my guesses back at me.  Again, the old
examples:

In[57]:=FindMaximum[test[c],{c,5}]
Out[57]:={-0.895005,{c->5.}}

Any one has an idea of what's going on?  Thanks!

Carol

"DrBob" <drbob at bigfoot.com> wrote in message news:<c6l8p2\$iv6\$1 at smc.vnet.net>...
> Show us the code you REALLY used, or we can't help you. If test[c] is
> defined the way you say in the post, it (a) has no global maximum and (b)
> has no local maximum at 1.4. Even if you define it as follows, to enforce
> the limits you mention, it still has no maximum at 1.4, and it doesn't have
> the values at 5 and 1.4 that you show in the post. Nor is it decreasing in
> c, near 2 or 5.
>
> test[c_] /; 1.4 ? c < 6.2 :=
>    ((10 - 185c + ((5^0.5)(20 + 19660c + 6641c^2))^2)(-41 -
>             134c + (5^0.5)(20 + 19660c + 6641c^2)))/(530604c)
> FindMaximum[test[c], {c, 5}]
> (error message)
> {7.77508372302857*^10, {c -> 5.}}
>
> FindMaximum[test[c], {c, 2}]
> (error message)
> {3.009388196803684*^9, {c -> 2.}}
>
> DrBob
>
> www.eclecticdreams.net
>
>
> -----Original Message-----
> From: Carol Ting [mailto:suomesta at yahoo.com]
To: mathgroup at smc.vnet.net
> Subject: [mg47952]  FindMaximum doesn't work?
>
> Hi List,
>
> I have one function which is defined only for a certain range of its
> independent variable:
>
> test[c_]:=((10-185c+((5^0.5)(20+19660c+6641c^2))^2)(-41-134c+(5^0.5)(20+1966
> 0c+6641c^2)))/(530604c)
> 1.4<=c<6.2
>
> This function is decreasing in c so the maximum should be at 1.4.
> However, when the initial guess I give is greater than 2.6,
> FindMaximum only returns the values at that point.
>
> For example,
>
> In[57]:=FindMaximum[test[c],{c,5}]
> Out[57]:={-0.895005,{c->5.}}
>
> But when I give
>
> In[58]:=FindMaximum[test[c],{c,2}]
> Out[58]:={2.09973,{c->1.4}}
>
> Then it works.
>
> My program uses a While loop to generate piecewise functions (I only
> put the piece containting the global maximum here).  The maximum
> condition is needed to decide whether to terminate the loop so I
> cannot always stop the execution and keep throwing in different
> guesses.
>
> Did I do anything wrong, or is this a bug?  Thanks a lot!
>
> Carol

```

• Prev by Date: RE: Re: bug in IntegerPart ?
• Next by Date: Re: bug in IntegerPart ?
• Previous by thread: Re: Fitting a Cylinder to 3D data points
• Next by thread: kuen surface