Forum
Widerstände parallel + Mathematik (Elektronik)
Hai Ralf,
» Mit Leitwerten kommt man recht gut an einen Lösungsweg.
Jepp, so habe ich das gerade in Perl realisiert.
Perl um nur mal eben schnell den Weg zu klären und einen Output für Excel o.ä. zu erhalten.
Für mich war der entscheidende Knackpunkt das:
for(my $x=0;$x<$#siem+1;$x++){
my $zaehler = ($z1&0x01);
# Die 0 * irgendwas = 0
$summe += $zaehler*$siem[$x];
$z1 = $z1/2;
}
bzw. wenn man über Ohm geht:
$summe += $zaehler/$res[$x];
Perl scheint "zu wissen" was 0/x bzw 0*x bedeutet, dadurch wird die operation gefühlt schneller. Wie das im uP funktioniert, in C, keine Ahnung, muss ich später testen.
Deinen Vorschlag die Tabelle von Ohm nach Siemens zu wandeln habe ich genauso gemacht.
Das Sortieren habe ich auch zuerst ausprobiert, hat aber einen entscheidenden Nachteil: die Zuordnung Wert-Relais geht verloren. Aber man kann die Tabelle ja gleich absteigend erstellen.
Wenn ich strunz doof über die ganze Tabelle rechne, einen Zähler mitlaufen lasse und mir die kleinste Differenz suche, habe ich auch gleich die Relais die geschaltet werden müssen. Ob das so im uP sinnvoll ist (Zeit) kann ich noch nicht beurteilen, habe ich einfach keine Erfahrung mit.
Weil es Spaß macht und mich interessiert werde ich versuchen deinen Ansatz mit der Vorgabe von Toleranz und/oder max Anzahl Widerst. in Perl zu realisieren.
Aber nicht mehr heute.
Viele Grüße
Ralf
Gesamter Thread:
















