resistance {ResistorArray} | R Documentation |
Given a resistance matrix, return the resistance between two specified nodes.
resistance(A, earth.node, input.node, current.input.vector=NULL, give.pots = FALSE)
A |
Resistance matrix |
earth.node |
Number of node that is earthed |
input.node |
Number of node at which current is put in: a nominal 1 Amp |
current.input.vector |
Vector of
currents that are fed into each node. If supplied, overrides the
value of input.node , and effectively sets give.pots
to TRUE because if various currents are fed into the network
at various points, the concept of “resistance” becomes
meaningless.
Setting this argument to c(0,...,0,1,0,..0) (where the
“1” is element jj ) is equivalent to not setting
current.input.vector and setting input.node to
jj .
|
give.pots |
Boolean, with TRUE meaning to return the
potential of each node (out.node being at zero potential);
and default FALSE meaning to return just the resistance between
in.node and out.node . |
The function's connection to resistor physics is quite opaque. It is effectively a matrix version of Kirchoff's law, that the (algebraic) sum of currents into a node is zero.
This function is essentially a newbie wrapper for circuit()
,
which solves a much more general problem. The function documented
here, however, is clearer and (possibly) faster; it also gives an
explicit resistance if give.pots
is not set.
Use function currents()
(or currents.matrix()
) to
calculate the currents flowing in the resistor array.
Robin K. S. Hankin
resistance(cube(),earth.node=1, input.node=7) #known to be 5/6 ohm resistance(cube(),1,7, give=TRUE)