[Date Index]
[Thread Index]
[Author Index]
Re: How to find solutions for conditioned equations?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg19909] Re: [mg19861] How to find solutions for conditioned equations?
*From*: "Wolf, Hartmut" <hwolf at debis.com>
*Date*: Tue, 21 Sep 1999 02:22:45 -0400
*Organization*: debis Systemhaus
*References*: <199909190520.BAA10200@smc.vnet.net.>
*Sender*: owner-wri-mathgroup at wolfram.com
Wen-Feng Hsiao schrieb:
>
> 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?
Dear Hsiao,
what to do best, depends on your intents. If you continually use the
triangle-functions (e.g. as fuzzy sets) then an idea would be to define
your own appropriate funtional calculus, e.g. as such:
A[x_, x0_, width_] :=
(x - x0 + width)/width UnitStep[x - x0 + width] UnitStep[-(x - x0)]
- (x - x0 - width)/width UnitStep[-(x - x0 - width)] UnitStep[x - x0]
(width is the width at half height), so you have a function you can
integrate, differentiate etc., or e.g.
In[128]:= Plot[A[x, 1, 2], {x, -2, 4}]
To find the inverse, calculate once (by hand):
Ainvers[a_, x0_, width_] := If[0 <= a <= 1, width {-1, 1}(1 - a) +
x0,{}]
In[134]:= Simplify[Ainvers[a, 1, 2], 0 <= a <= 1]
Out[134]= {-1 + 2 a, 3 - 2 a}
Of course if you want to deal with the case a==0 you may include
Interval[{-Infinity, -width + x0}, {width + x0, Infinity}] or not, that
depends on what you want, perhaps that could be something more like
In[147]:= chi[A, a_, x0_, width_] :=
If[0 <= a <= 1, Interval[width {-1, 1}(1 - a) + x0] ]
In[149]:= chi[A, 1/2, 1, 2]
Out[149]= Interval[{0, 2}]
In[150]:= chi[A, 1, 1, 2]
Out[150]= Interval[{1, 1}]
In[152]:= chi[A, 0, 1, 2]
Out[152]= Interval[{-1, 3}]
Kind regards, hw
Prev by Date:
**Re: Limits of multi-var. functions**
Next by Date:
**Re: How to find solutions for conditioned equations?**
Previous by thread:
**How to find solutions for conditioned equations?**
Next by thread:
**Re: How to find solutions for conditioned equations?**
| |