MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Solve and Reduce

  • To: mathgroup at smc.vnet.net
  • Subject: [mg52151] Re: [mg52128] Solve and Reduce
  • From: DrBob <drbob at bigfoot.com>
  • Date: Fri, 12 Nov 2004 02:14:11 -0500 (EST)
  • References: <200411100834.DAA10359@smc.vnet.net> <200411110953.EAA28876@smc.vnet.net> <opshbdoix5iz9bcq@monster.cox-internet.com>
  • Reply-to: drbob at bigfoot.com
  • Sender: owner-wri-mathgroup at wolfram.com

That function has a continuous derivative at the break point, by the way:

poly = Evaluate[First[eq] /. q -> #1] & ;
divide = (5*(-109199 + 1497*Sqrt[5489]))/2744;
delta = 0.00001;
D[Root[poly, 3], c] /. c -> N[divide]
D[Root[poly, 3], c] /. c -> divide - delta
D[Root[poly, 1], c] /. c -> divide + delta

0.334584
0.334585
0.334583

Plot[{qroot@c}, {c, divide - .1, divide + .1}]

Bobby

On Thu, 11 Nov 2004 12:58:56 -0600, DrBob <drbob at bigfoot.com> wrote:

> Possibly this is the function you need:
>
> eq = 2500*c^2 - 25*c^3 + 3500*c*q -
>       320*c^2*q - 1104*c*q^2 - 1152*q^3 == 0;
> qroot[c_] = Which @@
>      Cases[Reduce[{eq, c >
>         0, q > 0}, q], And[a_, Equal[q, c_]] :> Sequence[a, c]]
>
> Which[Inequality[0, Less, c,
>     LessEqual,
>     (5*(-109199 + 1497*
>         Sqrt[5489]))/2744],
>    Root[-2500*c^2 + 25*c^3 -
>       3500*c*#1 + 320*c^2*#1 +
>       1104*c*#1^2 + 1152*#1^3 & ,
>     3],
>    (5*(-109199 + 1497*
>         Sqrt[5489]))/2744 < c <
>     100, Root[-2500*c^2 +
>       25*c^3 - 3500*c*#1 +
>       320*c^2*#1 + 1104*c*#1^2 +
>       1152*#1^3 & , 1]]
>
> Plot[qroot@c, {c, 0, 100}]
>
> Bobby
>
> On Thu, 11 Nov 2004 04:53:03 -0500 (EST), Carol Ting <tingyife at msu.edu> wrote:
>
>>
>> Hello list,
>>
>> I want to find q as a function of c, q(c), given the following
>> equation:
>>
>> 2500*c^2 - 25*c^3 + 3500*c*q - 320*c^2*q - 1104*c*q^2 - 1152*q^3 == 0
>>
>> However, each of the following three methods gives different results.
>> I check the Mathematica Book but still cannot figure out why there are
>> such differences.  Could someone please explain this to me?  Thanks a
>> lot!
>>
>> (1) Use "Reduce"
>>
>> In[5]:=
>> q1[c_] = Reduce[{2500*c^2 - 25*c^3 +3500*c*q - 320*c^2*q -1104*c*q^2
>> -1152*q^3 == 0, c > 0,q > 0}, q]
>>
>> Out[5]=
>> 0<c<=(5*(-109199 + 1497*Sqrt[5489]))/2744] &&q == Root[-2500*c^2 +
>> 25*c^3 - 3500*c*#1 + 320*c^2*#1 + 1104*c*#1^2 + 1152*#1^3 & ,3] ||
>> (5*(-109199 + 1497*Sqrt[5489]))/2744 < c < 100 && q ==Root[-2500*c^2 +
>> 25*c^3 -3500*c*#1 + 320*c^2*#1 + 1104*c*#1^2 + 1152*#1^3 & , 1]
>>
>> In[6]:=
>> Plot[Root[-2500*c^2 + 25*c^3 - 3500*c*#1 + 320*c^2*#1 + 1104*c*#1^2 +
>> 1152*#1^3 & ,1], {c, 0, 100}]
>> Plot[Root[-2500*c^2 + 25*c^3 - 3500*c*#1 + 320*c^2*#1 + 1104*c*#1^2 +
>> 1152*#1^3 & ,3], {c, 0, 100}]
>>
>> Out[6]=
>> Graphics[]
>>
>> Out[7]=
>> Graphics[]
>>
>>
>> (2) Use "Solve" and Immediate assignment
>>
>> In[32]:=
>> qdroot1[c_] = q /. Solve[2500*c^2 - 25*c^3 + 3500*c*q - 320*c^2*q -
>> 1104*c*q^2 - 1152*q^3 == 0,q][[1]]
>> qdroot3[c_] = q /. Solve[2500*c^2 - 25*c^3 + 3500*c*q - 320*c^2*q -
>> 1104*c*q^2 - 1152*q^3 == 0,q][[3]]
>>
>> In[34]:=
>> Plot[qiroot1[c], {c, 0, 100}]
>>
>> Out[34]=
>> Graphics[]
>>
>> In[35]:=
>> Plot[qiroot3[c], {c, 0, 100}]
>>
>> Out[35]=
>> Graphics[]
>>
>> (3) Use "Solve" and delayed assignment
>>
>> In[28]:=
>> qdroot1[c_] := q /. Solve[2500*c^2 - 25*c^3 + 3500*c*q - 320*c^2*q -
>> 1104*c*q^2 - 1152*q^3 == 0,q][[1]]
>> qdroot3[c_] := q /. Solve[2500*c^2 - 25*c^3 + 3500*c*q - 320*c^2*q -
>> 1104*c*q^2 - 1152*q^3 == 0,q][[3]]
>>
>> In[30]:=
>> Plot[qdroot1[c], {c, 0, 100}]
>>
>> Out[30]=
>> Graphics[]
>>
>> In[31]:=
>> Plot[qdroot3[c], {c, 0, 100}]
>>
>> Out[31]=
>> Graphics[]
>>
>>
>> Carol
>>
>>
>>
>>
>
>
>



-- 
DrBob at bigfoot.com
www.eclecticdreams.net


  • Prev by Date: Re: Re: Re: newbie question DSolve (revisited)
  • Next by Date: Re: Re: Re: newbie question DSolve (revisited)
  • Previous by thread: Re: Solve and Reduce
  • Next by thread: Re: Solve and Reduce