Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- # Функция, считающая сопротивление для набора резисторов
- def calc_r(r1, r2, r3, r4, r5, r6):
- r23 = r2 + r3 # 2 и 3 - последовательно
- r45 = r4 + r5 # 4 и 5 - последовательно
- r236 = (r23 * r6) / (r23 + r6) # [2,3] и 6 - параллельно
- r1236 = r1 + r236 # 1 и [2, 3, 6] - последовательно
- return (r45 * r1236) / (r45 + r1236) # [4, 5] и [1, 2, 3, 6] - параллельно
- # Массив всех возможноых сопротевление
- ans = []
- # Доступные номиналы резисторов (13 штук)
- r = [100, 120, 150, 180, 220, 270, 330, 390, 470, 560, 680, 820, 1000]
- # Перебираем все возможные комбинации (13^6 штук)
- for r1 in r:
- for r2 in r:
- for r3 in r:
- for r4 in r:
- for r5 in r:
- for r6 in r:
- # Считаем сопротивление, и добавляем в ответ
- ans.append(calc_r(r1, r2, r3, r4, r5, r6))
- # Считаем среднее
- # В задаче написано 'матожидание', но в нашем случае оно равно среднему
- # Если считать его честно, то надо для каждого значения считать количество значений,
- # делить на количество уникальных занчений среди всех элементов, умножать на само значение, и суммировать,
- # что явно сложнее...
- print(np.mean(ans))
- Шутка на тему:
- Экспериментальным путём было установлено, что сопротивление проводника больше, чем сопротивление проводницы.
- https://xkcd.com/356/
Advertisement
Add Comment
Please, Sign In to add comment