da
xyz » 25 mag 2013, 15:25
Incuriosito ho cercato qualche documento scientifico a riguardo, ho trovato questo:
The bounds of the set of equivalent resistances of n equal resistors combined in series and in parallel - Sameen Ahmed KHANHo dato solo una rapida lettura, non ho approfondito, quel numero di 23 configurazioni partendo da 5 resistori dipende dal numero di Fibonacci:
http://en.wikipedia.org/wiki/Fibonacci_numbere dalla sequenza di Farey:
http://en.wikipedia.org/wiki/Farey_sequencecon la seguente formula:

dove

è il numero di resistori,

è il numero di Fibonacci e

è la sequenza omonima.
Ho visto che Wikiperdia ha messo uno script in Python per il calcolo della sequenza di Farey, ho aggiunto il calcolo del numero di Fibonacci e viene fuori questo semplice script in Python:
- Codice: Seleziona tutto
def fib(n):
if n < 2:
return n
fprev = 1
f = 1
for num in xrange(2, n):
fprev, f = f, f + fprev
return f
def farey( n, asc=True ):
"""Python function to print the nth Farey sequence, either ascending or descending."""
if asc:
a, b, c, d = 0, 1, 1 , n # (*)
else:
a, b, c, d = 1, 1, n-1 , n # (*)
print "%d/%d" % (a,b)
while (asc and c <= n) or (not asc and a > 0):
k = int((n + b)/d)
a, b, c, d = c, d, k*c - a, k*d - b
print "%d/%d" % (a,b)
n=5
farey(fib(n+1))
Per vedere la sequenza e per contare i risultati (comandi eseguiti in un sistema operativo compatibile POSIX come Linux):
- Codice: Seleziona tutto
python resistor.py
python resistor.py | wc -l
Salta fuori la sequenza e il numero totale di resistori:
- Codice: Seleziona tutto
0/1
1/8
.....
7/8
1/1
23
Spero di non aver preso una cantonata, il documento PDF parla di altre tipi di sequenze per modellare configurazioni di resistenze più complesse.