       Re: Want to 'Solve' a piecewise equation for a common term

• To: mathgroup at smc.vnet.net
• Subject: [mg79796] Re: Want to 'Solve' a piecewise equation for a common term
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Sat, 4 Aug 2007 06:02:38 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK
• References: <f8v16h\$d96\$1@smc.vnet.net>

```misnomer at gmail.com wrote:
> I've been battling to try to get a solution to my equation, but it
> requires solving of a piecewise function, which I cannot work out how
> to do. Say I have a piecewise function of the form
>
> temp = Piecewise[{
>      { 2*N*x, x < 0},
>      { N*x,    x >= 0}
> }]
>
> I want to either solve this via
> Solve[1==temp, N]
> and either get, with the inequalities,
>
> N -> Piecewise[{
>     {1/(2*x), x < 0},
>     {1/x, x >= 0}
> }]
>
> or just get mathematica to realise that there is a common term - N,
> and factor it out to, say,
> N * Piecewise[{
>      {2*x, x < 0},
>      {x, x >= 0}
> }]
> from where solve can handle it perfectly well.
>
> Is this type of operation possible, or am I stuck editing them by hand?

Use *Reduce* for it knows how to handle correctly expressions with
*Piecewise*.

In:= temp = Piecewise[{{2*n*x, x < 0}, {n*x, x >= 0}}];
Reduce[1 == temp, n]

Out= (x > 0 && n == 1/x) || (x < 0 && n == 1/(2 x))

In:= Reduce[1 == n*Piecewise[{{2*x, x < 0}, {x, x >= 0}}], n]

Out= (x > 0 && n == 1/x) || (x < 0 && n == 1/(2 x))

*Solve* does /not/ know what to do with *Piecewise*.

In:= Solve[1 == n*Piecewise[{{2*x, x < 0}, {x, x >= 0}}], n]

Out= {{n -> 1/\[Piecewise] {
{2 x, x < 0},
{x, x >= 0}
}}}

(Also, note that I have replaced capital N by n because N has already a
built-in meaning.)

Regards,
Jean-Marc

```

• Prev by Date: Re: Re: Paul Abbott Chebyshev Article
• Next by Date: Nested Dialogs
• Previous by thread: Want to 'Solve' a piecewise equation for a common term
• Next by thread: Re: Want to 'Solve' a piecewise equation for a common term