Re: Eliminate Complex Roots
- To: mathgroup at smc.vnet.net
- Subject: [mg64366] Re: [mg64348] Eliminate Complex Roots
- From: Pratik Desai <pdesai1 at umbc.edu>
- Date: Tue, 14 Feb 2006 01:31:42 -0500 (EST)
- References: <200602130815.DAA12562@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
bghiggins at ucdavis.edu wrote: >Hi All, > >Suppose I have the following equation and I want to plot the real roots >using Plot as a function of the parameter b > >a^3 + 10*a^2 - 15*a + b == 0 > >For the problem I am interested I have a set of algebraic equations of >at least order 3, but this is simpler enough to explain what the issue >is. > >Now if I want just the Real root I can do the following: > > >Sol2[b_] := DeleteCases[Solve[a^3 + 10.*a^2 - 15*a + b == > 0, a], {___, x_ -> Complex[y_, z_], ___}] > >and evaluating > >Sol2[20] > >{{a -> -11.46104034060055}} > >Gives the desired result. So far so good. Now suppose I want to plot >the solutions asa function of b. My immediate thought was to try > >Plot[Evaluate[a /. Sol2[b]], {b, -10, 30}, PlotStyle -> {Red, Blue, >Magenta}] > >This does give the desired result, but gives error messages when it >tries to plot a complex quantity. That is the DeleteCases does not seem >to work within Plot, even though I wrapped everything with evaluate. > >Any suggestions? > >Thanks much > >Brian > > > Perhaps using FindInstance? Here is my attempt anyway Clear[a,b] ListPlot[Flatten[a/.Table[FindInstance[a^3 + 10*a^2 - 15*a + b == 0,a,Reals],{b,-10,30}]//N],PlotJoined->True,PlotRange->All]
- References:
- Eliminate Complex Roots
- From: bghiggins@ucdavis.edu
- Eliminate Complex Roots