Re: Engineering requests

*To*: mathgroup at smc.vnet.net*Subject*: [mg125329] Re: Engineering requests*From*: danl at wolfram.com*Date*: Wed, 7 Mar 2012 05:35:21 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <jiqflj$3o$1@smc.vnet.net> <201203031152.GAA14440@smc.vnet.net> <jj1qr4$t8h$1@smc.vnet.net>

On Monday, March 5, 2012 1:43:32 AM UTC-6, McHale, Paul wrote: > Daniel, > > Thanks for the ideas. The minimalUnits[] is interesting. It would be very interesting to assign variables values with units. Likely, another data type would be required to support this. > R1= 5 Ohm; > > > I tried to use interval. Maybe I'm not doing it right... > > R1int={100000-100000*(0.1),100000+100000(0.1)} > R2int={30000-30000*(0.1),30000+30000(0.1)} > > (* Using interval (wrong answers) *) > R1=Interval[R1int]; > R2=Interval[R2int]; > Vout=5/(R1+R2) R2 // Max > Vout=5/(R1+R2) R2 // Min > > Out[1]= 1.41026 > Out[2]= 0.944056 > > (* using table (correct answers) *) > R1=R1int; > R2=R2int; > Table[5/(Ra+Rb) Rb,{Ra,R1},{Rb,R2}]// Max > Table[5/(Ra+Rb) Rb,{Ra,R1},{Rb,R2}]// Min > > Out[3]= 1.34146 > Out[4]= 0.985401 You are using Interval correctly. What you are seeing is called the "dependency problem". it goes with the territory of interval arithmetic. As a result, interval methods can only guarantee outer bounds on results, but not tight bounds in general. A couple of alternatives are (1) Use optimization techniques, which tend to be reliable in giving tight bounds, but can be slow. And of course they can also fail to give correct bounds in difficult situations. (2) Use a statistical approximate error bounding method such as that found here. http://demonstrations.wolfram.com/SolvingALinearSystemWithUncertainCoefficients/ It is not going to give outer bounds on the error, but under certain assumptions it will provide "good" approximate bounds on the expected error. Daniel Lichtblau Wolfram Research

**References**:**Re: Engineering requests***From:*danl@wolfram.com