【发布时间】:2015-04-17 21:35:51
【问题描述】:
我正在尝试设计一个简单的算法,该算法采用标准电阻值的向量以及所需电阻值的输入,然后通过串联和并联组合来确定实现该目标所需的最小标准电阻数等效电阻通过串联和并联电阻的任意组合来实现,以最小者为准。
有人有什么想法吗?如果我只想要并联或串联,那会容易得多,但不确定如何将两者结合起来以减少电阻器的总数。
仅供参考,如果您不知道总系列 R = S1 + S2 + ...+ SN 和总并联 R = (1/S1 + 1/S2 + ... + 1/SN)^-1
【问题讨论】:
-
我忘了补充说我正在 matlab 中尝试这样做,以便可以对代码进行矢量化。我还计划不考虑公差,只使用 5% 电阻的输入列表。
-
以所有串联和并联方式连接的 n 个电阻器的不同电阻数由oeis.org/A005840 给出。该数对 n 渐近! * (1-log(2)) / (log(2))^(n+1) -> 指数增长。如果有一种明智的方法可以减少这种情况,我会感到惊讶,特别是如果输入值没有太多模式
-
“标准电阻值”连同它们的容差旨在覆盖整个正实线。换句话说,任何电阻都已经在标准电阻值的容差范围内,因此您可以使用 n=1 电阻解决您的问题。 :-)
-
那么代码的另一部分将是一个变量输入,您可以在其中列出实验室缺货的电阻值,并将它们从向量列表中删除。跨度>
-
如果是这样,那么我们几乎可以将其视为一个改变问题。我认为我在回答中建议的方法会奏效。您可能需要考虑的另一个问题:有一些方法可以组合不会分解为串联和并联的电阻器,例如,沿着立方体边缘的电阻器。要真正减少电阻器的数量,您也应该考虑这些网络。
标签: algorithm