Sehr geehrte Damen und Herren, ich habe einen Hilfgesuch: Ich muss verschiedene Widerstandswerte errechnen, soweit so unspektakulär. Gegeben sind 10 verschieden Kohleschichtwiderstände, die Werte werden unten aufgeführt. Gesucht werden Kombinationen in Reihen und Parallelschaltungen. Hiermit mein Problem: ich suche nicht jeweils eine Kombination, sondern alle. Dies bedeutet neben der schlichten einfachen Verschaltungen auch Reihen- und Parallelschaltungen ineinander unbegrenz verschachtelt. Es darf allerdings nur jeder Widerstand einmal verwendet werden. Manuell kann ich für die drei gesuchten Verschaltungswiderstände nur jeweils einen errechnen, da ich es anders nicht schaffe. Emfohlen wurde mir ein Lösungsweg über Phyton oder ähnliche Wege. Da ich aber das Wissen nicht habe, bitte ich um Hilfe! Hier nun die Werte: R0-R9: 330Ω 120Ω 68Ω 33Ω 10Ω 4,7Ω 3,3Ω 1,8Ω 0,33Ω 0,22Ω Gesuchte Werte: 330Ω 34,4Ω 74,5Ω 98,0Ω Die Aufgabe muss für einen Konzeptwettbewerb gelöst werden, den Fuelcellbox-Wettbewerb. Durch derartige Zusatzergebnisse versuche ich Pluspunkte zu sammeln. Ich werde die Werte im Verweis auf die Quelle dann aufzählen, dies kann gerne eingesehen werden. Allerdings ist am 20. Mai Abgabeschluss... Somit würde ich mich über eine schnelle Rückmeldung sehr freuen. Vielen Dank für Ihre Unterstützung! mit freundlichen Grüßen Fabian Umhang Tekkietorium - Technik entsteht, Bit für Bit web: www.Tekkietorium.de Mail: Tekkietorium@gmx.de
:
Verschoben durch User
dann ist der erste schritt erst einmal alle Schaltungsvarianten aufzuschreiben die man mit 10 Widerständen bauen kann. Ob man das per Software machen kann bin ich mir nicht sicher (es geht bestimmt, aber ob es schneller ist als mit stift?) Dann werden einfach die Werte eingesetzt, wobei man bei weniger als 10 Widerständen die Restlichen einfach mit unendlich oder mit 0 Ohm anzunehmen sind.
Peter II schrieb: > Dann werden einfach die Werte eingesetzt, wobei man bei weniger als 10 > Widerständen die Restlichen einfach mit unendlich oder mit 0 Ohm > anzunehmen sind. Da rechnet man sich aber den Wolf. Alleine bei Rx + (Rx | Rx | Rx) :) Grüsse, René
René H. schrieb: > Da rechnet man sich aber den Wolf. Alleine bei Rx + (Rx | Rx | Rx) :) dafür gibt es ja Computer
wenn man etwas darüber nachdenkt könnte man es auch so machen. Bei 2 Widerständen gib es 2 Schaltungsmöglichkeiten. - damit hat man wieder einen Ersatzwiderstand. Mit diesen Ersatzwiderstand und einen zusätzlichen Widerstand gibt es wieder 2 Möglichkeiten. usw. Man muss sich nur die Liste merken, welche Widerstände schon weg sind.
Peter II schrieb: > dafür gibt es ja Computer Siehst Du und was war seine Frage nochmals? Ich würde das über Iteration mit Rekursion lösen. Grüsse, René
okay, schoneimal vielen Dank. Wir vom Tekkietorium (keine richtige Firma, sondern eher eine Art Verein) betreiben viele verschiedene naturwissenschaftliche Projekte im Bereich der allg. Technik. Diese stellen wir auf unserer Internetseite (www.Tekkietorium.de) und auf einigen Messen vor. Ich persönlich kann (noch) nicht programmieren, aber Felix Haschke, mit dem ich zusammenarbeite. In C++ und Phyton. Wir sind allerdings Schüler, daher bräuchte das bei mir noch Zeit, alle Schaltungsvarianten zu ermitteln. Ich werde mich in den folgenden Tagen daran setzen. Danke, mfG Fabian
Fabian U. schrieb: > Wir sind allerdings Schüler, daher bräuchte das bei mir noch Zeit, alle > Schaltungsvarianten zu ermitteln. Ich werde mich in den folgenden Tagen > daran setzen. denke mal über meinen Letzen Vorschlag nach, das ermittelt der Computer sogar selber die Möglichkeiten. Habe leider die nächsten 24 Stunden keine Zeit - werde das Problem aber für mich mal lösen - ist eine schöne aufgabe.
Knifflig ist das schon, es gibt max. 10 Stufen (1. for Schleife), dann gibt max 10 stufen seriell (alle 10 seriell) und max. 10 stufen parallel (alle 10 parallel). Also drei verschachtelte for Schleifen. Du schreibst nicht ob alle Widerstände verwendet werde müssen, wenn nein, muss noch über die Anzahl Widerstände iteriert werden (4. for Schleife). Innerhalb der Schleifen die Werte setzen. Rechnen. Ausgeben. Grüsse, René Edit: die innerste muss rekursiv sein um alle Widerstände (Möglichkeiten) durchzurechnen. Das ist nur ein grober Entwurf auf Handy getippt, hat also sicher noch Fehler ;)
Fabian U. schrieb: > Gegeben sind 10 verschieden Kohleschichtwiderstände, die > Werte werden unten aufgeführt. Okay. > Gesucht werden Kombinationen in Reihen und > Parallelschaltungen. Auch noch okay. > Hiermit mein Problem: ich suche nicht jeweils eine > Kombination, sondern alle. Immer noch okay. > Dies bedeutet neben der schlichten einfachen Verschaltungen > auch Reihen- und Parallelschaltungen ineinander unbegrenz > verschachtelt. Es darf allerdings nur jeder Widerstand einmal > verwendet werden. ??? Also was nun? "Ineinander unbegrenzt" oder "jeder Widerstand nur einmal verwendet"? > Manuell kann ich für die drei gesuchten Verschaltungswiderstände > nur jeweils einen errechnen, da ich es anders nicht schaffe. ??? Was soll das bedeuten? Fabian U. schrieb: > R0-R9: > 330Ω > 120Ω > 68Ω > 33Ω > 10Ω > 4,7Ω > 3,3Ω > 1,8Ω > 0,33Ω > 0,22Ω > > Gesuchte Werte: 330Ω > 34,4Ω > 74,5Ω > 98,0Ω Also, 98,0 Ohm ist schon mal simpel: 68 + (330||33) (120 || 330) + 10 geht uebrigens auch. 74,5 = 68 + 4,7 + 1,8 34,4 ist eine harte Nuss; ich bin gar nicht mal sicher, ob das exakt geht, wenn man jeden Wert hoechstens einmal verwendet.
René H. schrieb: > Knifflig ist das schon, Ja :) > es gibt max. 10 Stufen (1. for Schleife), dann gibt > max 10 stufen seriell (alle 10 seriell) und max. 10 stufen > parallel (alle 10 parallel). Also drei verschachtelte for > Schleifen. Vielleicht missverstehe ich Dich - aber man kann auch mehrfach ueberbrueckte Schaltungen machen. Also z.B. drei Widerstaende in Reihe, die ersten beiden werden mit einem vierten ueberbrueckt, die letzten beiden mit einem fuenften. (Das laeuft auf eine Bruecken- schaltung mit Widerstand in der Diagonalen hinaus.) Viele Varianten kann man aber a priori ausschlieszen: Eine reine Reihenschaltung kann nie kleiner als der groeszte Teilwiderstand werden, eine Parallelschaltung nie groeszer als der kleinste Teilwiderstand.
34.43353846 = 33 + (1.8 || 4.7) + (.33 || .22) Wer bietet eine bessere Lösung?
Georg G. schrieb: > Wer bietet eine bessere Lösung? 33 + 10 + 4,7 + 0,33 + 0,22 in Reihe und parallel dazu der 120 Ohm Widerstand = 34,413075 Ohm. Es gibt bestimmt eine Lösung bei der genau 34,4 rauskommt!
Ralf Leschner schrieb: > Georg G. schrieb: > > Wer bietet eine bessere Lösung? >33 + 10 + 4,7 + 0,33 + 0,22 in Reihe und parallel dazu der 120 Ohm > Widerstand = 34,413075 Ohm. Danke fuer die Vorlage. 34.4039 = (33 + 10 + 3.3 + 1.8 + (0.33 || 0.22)) || 120
Ralf L. schrieb: > 33 + 10 + 4,7 + 0,33 + 0,22 in Reihe und parallel dazu der 120 Ohm > Widerstand = 34,413075 Ohm. Und jetzt noch parallel zum 0,22 Ohm Widerstand den 1,8 Ohm Widerstand, dann kommt 34,400886 raus.
Possetitjel schrieb: > Vielleicht missverstehe ich Dich - aber man kann auch mehrfach > ueberbrueckte Schaltungen machen Natürlich hast Du recht, die habe ich nicht bedacht. mist Dann wird es in mind. zwei verschachtelte Rekursionen rauslaufen. Ich müsste das aber ausprogrammieren. Eine schöne Regenwetter Aufgabe. Grüsse, René
Yalu hat vor 8 Jahren eine ähnliche Aufgabe in Python programmiert: Beitrag "Ein Fall für uns Knobelfreunde: E-Herd 7-Takt-Schaltung Anzahl der Kombinationen"
Peter II schrieb: > Bei 2 Widerständen gib es 2 Schaltungsmöglichkeiten. - damit hat man > wieder einen Ersatzwiderstand. > > Mit diesen Ersatzwiderstand und einen zusätzlichen Widerstand gibt es > wieder 2 Möglichkeiten. A 1 Widerstand 10 Möglichkeiten 2 Widerstände B 2. seriell 10*9 C 2. parallel 10*9 3 Widerstände D zu B einen seriell 10*9*8 E zu B einen parallel 10*9*8 F zu C einen seriell 10*9*8 G zu C einen parallel 10*9*8 4 Widerstände 8* 10*9*8*7 5 Widerstände 16* 10*9*8*7*6 6 Widerstände 32* 10*9*8*7*6*5 7 Widerstände 64* 10*9*8*7*6*5*4 8 Widerstände 128* 10*9*8*7*6*5*4*3 9 Widerstände 256* 10*9*8*7*6*5*4*3*2 10 Widerstände 512* 10*9*8*7*6*5*4*3*2*1 Ups, brute force scheint da nicht der optimale Ansatz zu sein... Man müsste frühzeitig die Duplikate erkennen. Zudem, wie oben geschrieben hat man ja eine obere Grenze für die Reihenschaltung.
:
Bearbeitet durch User
Helmut H. schrieb: > 4 Widerstände > 8* 10*9*8*7 Hallo, wenn ich mich nicht irre, gibt es bei 4 Widerständen mindestens 9 verschiedene Grundschaltung. MfG egonotto
:
Bearbeitet durch User
Manfred L. schrieb: > gibt es bei 4 Widerständen 9 verschiedene > Grundschaltung. Das hatte ich missverständlich formuliert, Möglichkeit meint Widerstandswert der Gesamtschaltung. Ist zudem auch nur eine Abschätzung, bei zweien gibt es nicht 90 sondern nur 45 da R1+R2 == R2+R1, daher "Duplikate frühzeitig erkennen". Edit: Mein LTSpice hat Startprobleme, ewig nicht mehr benutzt... Jetzetle: Richtig, nicht alle angegebenen Schaltungen werden abgedeckt, Syntax A Anfang, S Seriell, P Parallel Von Links nach Rechts R1 ASSS R5 ASSP R9 ASPS R17 ASPP R13 APSP z.B. A R13 , P R14, S R15, P R16 R37 ?? R21 APSS R25 ?? R29 APPS R33 APPP
:
Bearbeitet durch User
Helmut H. schrieb: > Das hatte ich missverständlich formuliert, Möglichkeit meint > Widerstandswert der Gesamtschaltung. Ist zudem auch nur eine > Abschätzung, bei zweien gibt es nicht 90 sondern nur 45 da R1+R2 == > R2+R1, daher "Duplikate frühzeitig erkennen". Zwei aus Zehn, ziehen ohne zurücklegen das ist der einfache Part. n!/[(n-m)!*m!] macht 45 einzigartige Wertepaarungen. Diese kann man auf zwei Arten verlegen, ser. oder par. Macht 90 mögliche Anordnungen mit zwei unterschiedlichen aus dem 10er Pool. Bei drei Stück sind es 120 Mglkt. drei Unterschiedliche und nicht widerholend zu nehmen, bei 4/210, 5/252, 6/210, 7/120, ... 1 - 1 * 10 10 2 - 2 * 45 90 3 - 5 * 120 600 4 - 24* 210 5040 5 - X * 252 6 - y und da verliesen sie ihn, erstmal :) ...
H. O. schrieb: > und da verliesen sie ihn, erstmal :) ... Und das ist eine Aufgabe für Schüler: http://www.fuelcellbox-nrw.de/
H. O. schrieb: Mmh, > Zwei aus Zehn, ziehen ohne zurücklegen das ist der einfache Part. > n!/[(n-m)!*m!] macht 45 einzigartige Wertepaarungen. Diese kann man auf > zwei Arten verlegen, ser. oder par. Macht 90 mögliche Anordnungen mit > zwei unterschiedlichen aus dem 10er Pool. > > Bei drei Stück sind es 120 Mglkt. drei Unterschiedliche und nicht > wiederholend zu nehmen, bei 4/210, 5/252, 6/210, 7/120, ... > > 1 - 1 * 10 10 > 2 - 2 * 45 90 > 3 - 5 * 120 600 > 4 - 24* 210 5040 > 5 - X * 252 > 6 - y > > und da verliesen sie ihn, erstmal :) ... Auch Oups 3 * 120 + 2 müßten das sein. In der reinen ser oder par ist die Anordnung ja egal nur in drei Anordnungsvarianten kommt es auf die Position der Elemente an. ---- entsprechend 22* 210 + 2 falls 24 stimmt. An sich sollte das bestimmen der möglichen Anordnungsvarianten ja auch wieder nur ein ziehen ohne zurücklegen mit kleinerem Pool sein das man aber entsprechend oft wiederholen muss. duennnness eis ....
Helmut H. schrieb: > Jetzetle: Richtig, nicht alle angegebenen Schaltungen werden abgedeckt, > Syntax A Anfang, S Seriell, P Parallel > Von Links nach Rechts > R1 ASSS > R5 ASSP > R9 ASPS > R17 ASPP > R13 APSP z.B. A R13 , P R14, S R15, P R16 > R37 ?? > R21 APSS > R25 ?? > R29 APPS > R33 APPP Habe mir auch mal ein Stück virt. Papier geschnappt um zu visualisieren wohin die Reise geht, auf deine zehn komme ich auch und diese sollten sich auf 59 Arten variieren lassen. Mit 210 unikaten Saetzen 4 aus 10 sollten das schon 12390 Mglt. der Anordnung sein. Mal sehen ob das nach dem Kaffe noch genause erscheint ..
Bei [R||R]-[R||R] sollten es nur drei Varianten sein. [A||B]-[C||D] [A||C]-[B||D] [A||D]-[B||C] Gut moeglich das noch anderes Uebersehen wurde, erstmal gruebeln wie man so etwas programmatisch konstruiert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.