具有 3 个电阻值的容差叠加组合

Tolerance stack combination with 3 resistor values

我正在尝试使用 python 而不是 excel 来执行简单的公差堆栈电路分析。基本上,假设我的电阻值低于由 -> Minimum | 分隔的位置。标称 |最大值,因此值为以下值:

R1 -> 5 | 10 | 15 R2 -> 5 | 10 | 15

Total_R = R1 + R2

理论上,这会产生 9 种 'Total_R' 的组合,从(R1 的最小值 + R2 的最小值)到(R1 的最大值 + R2 的最大值)

如何在 python 中有效地执行此操作以容纳最多 10 个电阻值?

你要的叫笛卡尔积。 Python 对他们有一个功能:itertools.product:

from itertools import product

R1 = (5, 10, 15)
R2 = (13, 1313, 131313)

list(product(R1, R2))

你会return:

[(5, 13),
 (5, 1313),
 (5, 131313),
 (10, 13),
 (10, 1313),
 (10, 131313),
 (15, 13),
 (15, 1313),
 (15, 131313)]