Sida 1 av 3

Kombinera Motstånd ur Elektroniklådan?

Postat: 3 mars 2018, 20:00:56
av 4kTRB
4 st element

{a, b, c, d}

går att ordna parvis.
Detta beräknas som C(4,2) , binomialkoefficient, = 6

{a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}

4 st motstånd i elektroniklådan
jag väljer 2 st för serie- eller parallell-koppling

{100, 220, 560, 680}

Men med binomialkoefficient-formeln missas kombinationerna

{100,100}, {220,220} osv.

Totalt blir det 10 kombinationer.

aa ab ac ad
bb bc bd
cc cd
dd

Som det då går att kombinera i serie eller parallell.

Det här vore praktiskt att ha en tabell på så man snabbt och lätt kan hitta
ett lite udda motståndsvärde mha 2 st standardvärden.

Men först vore det kul med en formel för att få fram 10 som i det här fallet.
Kan det vara så enkelt som C(4,2) + 4 eller mer allmänt C(N,2) + N ?

Lite trött i dag för att tänka ut om det är troligt.

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 3 mars 2018, 21:42:04
av 4kTRB
N^2 - C(N,2) ?

I exemplet ovan: 4^2 - 6 = 10

Det borde fungera:

aa ba ca da
ab bb cb db
ac bc cc dc
ad bd cd dd

sedan stryker man bort alla dubbletter.

aa
ab bb
ac bc cc
ad bd cd dd

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 3 mars 2018, 22:25:39
av TomasL
Hmm, Nånstans har jag ett program (listning) som jag skrev för typ 40 år sedan.
Det tar önskad resistans och E-serie och föreslår lämpliga värden ur vald E-serie för att erhålla önskad resistans.

Men att hitta det, nja. Får nog skriva ett nytt gissar jag, förmodligen enklare.
Och jo, det var för HP41.

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 3 mars 2018, 22:30:16
av lillahuset
Det där problemet löser man ju nästan alltid enklast "för hand".

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 3 mars 2018, 22:33:05
av 4kTRB
Fast en tabell att bara slå upp i vore inte så dumt,
att ha på bänken.

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 3 mars 2018, 22:37:58
av lillahuset
Då måste du ju hitta tabellen först. :D

Om det är för stort huvudbry så finns det säkert webbsidor med "kalkylatorer". Eller om man som en trivial programmeringsuppgift skriver ett program i valfritt språk.

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 3 mars 2018, 22:44:25
av 4kTRB
Jag kollade formeln och den verkar stämma.

4^2 - C(4,2) = 1 + 2 + 3 + 4 = 10

N^2 - C(N,2) = 1 + 2 + 3+,...+ N

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 4 mars 2018, 00:56:04
av 4kTRB
100, 150, 180, 220, 270, 330, 470, 560, 680, 1000

10 olika värden kan kombineras parvis till
(10^2 - C(10,2) = 100 - 45 = 55)

55 seriekombinationer 200 ohm till 2000 ohm
55 parallellkombinationer 50 ohm till 500 ohm

Kalkylark kanske vore lämpligt att nyttja?

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 4 mars 2018, 16:18:14
av mankan
Kanske inte lika rolig matematiskt men jag tycker den här kalkylatorn är mycket användbar.

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 4 mars 2018, 16:25:39
av rvl
a0, b0, c0, ... borde väl också få vara med, ifall man kommer tillräckligt nära med bara ett motstånd?

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 4 mars 2018, 18:16:13
av bit96
4kTRB skrev:100, 150, 180, 220, 270, 330, 470, 560, 680, 1000

10 olika värden kan kombineras parvis till
(10^2 - C(10,2) = 100 - 45 = 55)

55 seriekombinationer 200 ohm till 2000 ohm
55 parallellkombinationer 50 ohm till 500 ohm

Kalkylark kanske vore lämpligt att nyttja?
Om du ser geometrin i det hela så märker du att det är samma som 'plusselitet'.
(1+N)*N/2
dvs summan av 1+2+3+4+...N

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 5 mars 2018, 21:35:39
av 4kTRB
Det går att tänka så här också:

Välj först 1 av 10 återstår sedan 1 av 9 (två operationer, O1 och O2)

10x9 (sammansatta operationen O1 och O2)

Dessa kan kombineras på 2 sätt 2! = 2

10x9/2!

Sedan finns 10 möjligheter att välja 2st lika motstånd
så de får man addera.

10x9/2! + 10 = 45 + 10 = 55

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 6 mars 2018, 08:06:20
av guckrum
Ett litet program i Python3

Kod: Markera allt

E10 = (100, 150, 180, 220, 270, 330, 470, 560, 680, 1000)

c = dict()

for x in E10:
    for y in E10:
        key = 'p ' + str(sorted([x,y]))
        c[key] = 1/((1/x)+(1/y))
        key = 's ' + str(sorted([x,y]))
        c[key] = x + y

for key, val in sorted(c.items(), key = lambda x: x[1]):
    print("%6.1f %s" %(val, key))
Första for-loopen bygger ett dictionary som mappar 's' eller 'p' (för seriell/parallel) samt
de två motståndsvärden (sorterade, minst först) till resulterande resistans.
Andra for-loopen printar dictionaryt med avseende på resistansen.

Resultatet finns i filen
e10.txt
och börjar såhär
<code>
50.0 p [100, 100]
60.0 p [100, 150]
64.3 p [100, 180]
68.8 p [100, 220]
73.0 p [100, 270]
</code>

De resulterande motståndsvärdena plottat i storleksordning (obs loggad y-axel)
e10.png

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 6 mars 2018, 08:09:57
av Glenn
Det fanns en websida med en kalkylator som gjorde exakt det där, man angav vilka E-serier man ville använda och sedan matade man in önskat värde och fick fram en lista med "bästa möjliga" om man använde 1/2/3/4/5 motstånd typ.

Re: Kombinera Motstånd ur Elektroniklådan?

Postat: 6 mars 2018, 19:20:03
av 4kTRB
Trevligt med en kodsnutt och resultatet presenterat!
:)
Den ska väl vara lätt att översätta till Java.
Jag var inne på att skriva just ett sånt litet program men det var ett bra tag sedan jag programmerade.
Jag vill också ha en variant där jag kan plocka ut 3st motstånd och kombinera i serie eller parallell, det
lär ju ge ännu större chans att hitta en kombination nära det önskade.

Jag brukar sitta och kombinera med multimetern och miniräknaren men ofta tar det en bra stund
att hitta rätt.