Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.soft-sys.math.mathematica > #16683
| From | Bob Hanlon <hanlonr357@gmail.com> |
|---|---|
| Newsgroups | comp.soft-sys.math.mathematica |
| Subject | Re: Problems with Solve |
| Date | 2014-03-23 08:59 +0000 |
| Message-ID | <lgm7p3$s$1@smc.vnet.net> (permalink) |
| References | <20140322040621.517306A21@smc.vnet.net> |
| Organization | Time-Warner Telecom |
sol = z /. Solve[z + 5 (z^2 - 1) + 1 z^3 == 1, z];
sol // FullSimplify // N
{0.925423, -4.47735, -1.44807}
sol // RootApproximant // N
{0.925423, -4.47735, -1.44807}
sol // N // Chop
{0.925423, -4.47735, -1.44807}
z /. {Reduce[z + 5 (z^2 - 1) + 1 z^3 == 1, z] //
ToRules} // N
{-4.47735, -1.44807, 0.925423}
Use Piecewise rather than If
b[s_] = Piecewise[{{Erfc[-x], s < 0.5}},
Erfc[-x] + Erfc[y] - Erfc[z]];
b[.7]
Erfc[-x] + Erfc[y] - Erfc[z]
b[s] /. s -> .7
Erfc[-x] + Erfc[y] - Erfc[z]
Bob Hanlon
On Sat, Mar 22, 2014 at 12:06 AM, Samuel Mark Young <sy81@sussex.ac.uk>wrote:
>
> Hello everyone,
> I'm trying to use the solutions of Solve from solving a cubic equation -
> however, it keeps returning complex answers when there are real solutions.
> For example:
>
> Solve[z + 5 (z^2 - 1) + 1 z^3 == 1, z]
>
> This equation has 3 real solutions. However, the answers returned when I
> ask mathematica for a decimal answer are complex (which I need to do later
> on when an integration needs solving numerically):
> {{z -> 0.925423 + 0. I}, {z -> -4.47735 +
> 2.22045*10^-16 I}, {z -> -1.44807 - 4.44089*10^-16 I}}
>
> I'm guessing this is to do with the finite precision that is used in the
> calculations as the imaginary components are very small, but am unsure how
> to deal with them and they shouldn't be there. Any suggestions?
>
>
> The second problem I am having is that I need to solve for s in a function
> B[s] == 10^-5, where B is some (complicated) function of s.
>
> The form of the function depends on s - and this is handled by If[]
> commands in the function B. For example, the s dependance might be:
>
> B[s]:=If[s<0.5,Erfc[-x],Erfc[-x]+Erfc[y]-Erfc[z]]
>
> B[s] is a smooth function of s.
>
> The problem seems to arise because, before it has found a solution for s,
> it can't decide which form of the function to use - and so just returns an
> error message (I've tried using Solve, NSolve, and FindRoot with different
> methods). However, since I'm only looking for a numerical solution it is
> easily possible to solve this manually using trial and improvement - which
> seems to be something that Mathematica should be able to do? But I can't
> figure out how.
>
> Please feel free to contact me directly at sy81@sussex.ac.uk with advice.
> Thank you in advance for any help!
>
> Regards,
> Sam
>
>
Back to comp.soft-sys.math.mathematica | Previous | Next | Find similar
Re: Problems with Solve Bob Hanlon <hanlonr357@gmail.com> - 2014-03-23 08:59 +0000
csiph-web