Re: A question on interval arithmetic
- To: mathgroup at smc.vnet.net
- Subject: [mg43725] Re: A question on interval arithmetic
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Thu, 2 Oct 2003 02:51:21 -0400 (EDT)
- Organization: The University of Western Australia
- References: <blcq5l$p5f$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
In article <blcq5l$p5f$1 at smc.vnet.net>,
Oliver Friedrich <oliver.friedrich at tzm.de> wrote:
> the resistance of 2 resistors in parallel is r1*r2/(r1+r2). Now I want to
> introduce tolerances in the resistors and ask for the range of resistance
> of the combination. One may think that e.g
>
> (r1*r2)/(r1+r2)/.{r1->Interval[{10,20}],r2->Interval[{20,40}]}
>
> would lead to the correct result, but there's a trap. If I replace the
> expressions by the intervals, Mathematica evaluates the new expression
> assuming that all four intervals are independant from each other. And that's not
> correct. Taken either the minimum or the maximum from a certain interval ,
> Mathematica should stick to that, because it is nonsense to take Min[r1] and
> Max[r1] within the same expression, r1 can have only one value at a time.
>
> How can I avoid this problem?
Defining the resistance of 2 resistors in parallel
R[r1_,r2_] = 1/(1/r1+1/r2)
then, in this simple example, you could just compute the extremal values
directly:
{R[10, 20], R[20, 40]}
yielding the minimum and maximum possible values.
A better (completely general) solution is to use the calculus
(quadrature) of errors:
error[R_][{r1_,e1_},{r2_,e2_}] =
Sqrt[D[R[r1,r2],r1]^2 e1^2+D[R[r1,r2],r2]^2 e2^2]
Then you can compute the range of resistance of the combination by
entering Interval[{10,20}] as {15,5} etc:
error[R][{15, 5}, {30, 10}]
Cheers,
Paul
--
Paul Abbott Phone: +61 8 9380 2734
School of Physics, M013 Fax: +61 8 9380 1014
The University of Western Australia (CRICOS Provider No 00126G)
35 Stirling Highway
Crawley WA 6009 mailto:paul at physics.uwa.edu.au
AUSTRALIA http://physics.uwa.edu.au/~paul