Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1999
*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 1999

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

Search the Archive

Re: How to find solutions for conditioned equations?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg19920] Re: [mg19861] How to find solutions for conditioned equations?
  • From: "Allan Hayes" <hay at haystack.demon.co.uk>
  • Date: Tue, 21 Sep 1999 02:22:51 -0400
  • References: <7s3pia$cna@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Bob,
Your solution to this particular problem does not need InequalitySolve (but,
of course, using it in
other situations would give the real solutions and more information)

soln[a_ /; 0 <= a <= 1] := Module[{x}, x /.
Solve[(x + 1)/2 == a || (3 - x)/2 == a, x]]

Table[soln[a], {a, 0, 1, .2}]

{{-1, 3}, {-0.6, 2.6}, {-0.2, 2.2}, {0.2, 1.8}, {0.6, 1.4}, {1., 1.}}

and  at a = 0 we should have 3, since x is restricted to be >-1.


We can use Inequality solve do do more of the work:

Needs["Algebra`InequalitySolve`"];

is = InequalitySolve[
    ((x + 1)/2 == a && -1 < x <= 1 ||
        (3 - x)/2 ==  a && 1 < x <= 3), {a, x}]

a == 0 && x == 3 || 0 < a < 1 && (x == -1 + 2 a || x == 3 - 2 a) ||
  a == 1 && x == 1

Now we can define the multi-valued inverse function

Apply[Set[s[a_ /; #1], x /. {ToRules[#2]}] &, sol, {1}];
s[a_/;-Infinity<a<Infinity] = {};

Table[s[a], {a, -.2, 1.2, .2}]

{{}, {3}, {-0.6, 2.6}, {-0.2, 2.2}, {0.2, 1.8}, {0.6, 1.4}, {1}, {}}


Allan
---------------------
Allan Hayes
Mathematica Training and Consulting
Leicester UK
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565



<BobHanlon at aol.com> wrote in message news:7s3pia$cna at smc.vnet.net...
> A[x_ /; -1 < x <= 1] := (x + 1)/2;
> A[x_ /; 1 < x <= 3] := (3 - x)/2;
> A[x_] = 0;
>
> Plot[A[x], {x, -1.2, 3.2}];
>
> Needs["Algebra`InequalitySolve`"];
>
> soln[a_ /; 0 <= a <= 1] := Module[{x}, x /.
>         {ToRules[InequalitySolve[(x + 1)/2 == a || (3 - x)/2 == a, x]]}];
>
> Table[soln[a], {a, 0, 1, .2}]
>
> {{-1, 3}, {-0.6, 2.6}, {-0.2, 2.2}, {0.2, 1.8}, {0.6, 1.4}, {1.}}
>
> Bob Hanlon
>
> In a message dated 9/19/1999 5:43:39 AM, d8442803 at student.nsysu.edu.tw
writes:
>
> >Suppose I have an equation
> >
> >A(x)= (x+1)/2, for -1<x<=1
> >    = (3-x)/2, for 1<x<=3
> >    = 0      , otherwise
> >
> >Now if I want to find solutions for A(x)==a, how can I otain the
> >solutions simultaneously (i.e., represented as (2a-1, 3-2a))? I always
> >
> >use the stupid method to solve them separately, but I found it's laborous
> >
> >when I have B(x), C(x) needed to be solved together. (I am trying to use
> >
> >alpha-cut to proceed the interval operations) Any suggestions?
> >
>







  • Prev by Date: A (little?) problem in Number Theory
  • Next by Date: Symbolic Derivatives with respect to a vector
  • Previous by thread: Re: How to find solutions for conditioned equations?
  • Next by thread: Re: How to find solutions for conditioned equations?