Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

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

Search the Archive

Re: How to treat this false singular point?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg68457] Re: How to treat this false singular point?
  • From: Peter Pein <petsie at dordos.net>
  • Date: Sun, 6 Aug 2006 02:56:27 -0400 (EDT)
  • References: <easkcp$g3j$1@smc.vnet.net> <eauv8o$15s$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Jean-Marc Gulliet schrieb:
> Use some *If* statements around each term for instance.
> 
> In[1]:=
> f[x_] := If[x != 100, (x - 100)*Log[Abs[x - 100]], 0] +
>           If[x != 200, (x - 200)*Log[Abs[x - 200]], 0] +
>           If[x != 300, (x - 300)*Log[Abs[x - 300]], 0]
> 
...

> HTH,
> Jean-Marc
> 

Hello,

  by mistake I used NSolve instead of FindRoot to get the x, where f[x]==1:


NSolve[f[x] == 1, x]

"The expression If[x != 100, (x - 100)*Log[Abs[x - 100]], 0] +
  If[x != 200, (x - 200)*Log[Abs[x - 200]], 0] +
  If[x != 300, (x - 300)*Log[Abs[x - 300]], 0]
involves unknowns in more than one argument, so inverse functions cannot be used. "Solve::dinv"

--> NSolve[If[x != 100, (x - 100)*Log[Abs[x - 100]], 0] + If[x != 200, (x - 200)*Log[Abs[x - 200]], 0] +
     If[x != 300, (x - 300)*Log[Abs[x - 300]], 0] == 1, x]

The same happens for NSolve[g[x]==1,x], with g[x_]=PiecewiseExpand[f[x]]

Where is (are) the other unknown(s)?

Peter

P.S.: This is Mathematica 5.1 on Win2K SP4 (plus dozens of MS-Patches)


  • Prev by Date: Re: Re: How to treat this false singular point?
  • Next by Date: critical points of a third order polynomial fit (simplification)
  • Previous by thread: Re: Re: How to treat this false singular point?
  • Next by thread: DDE input in Mathematica 5.2