Кто-нибудь помнит эту статью об евклидовом алгоритме?

20

В 70-х у меня была пачка старых журналов для радиолюбителей (50–60-е годы), и в течение долгого времени я сохранял статью об использовании алгоритма Евклида для объединения нескольких резисторов для достижения определенной величины. Кто-нибудь вспоминает и имеет копию этой статьи, или знает, как применяется евклидов алгоритм для решения этой проблемы?

Джин М.
источник

Ответы:

38

На самом деле он основан на теории непрерывных дробей , которая тесно связана с методом Евклида для нахождения GCD между двумя числами.

Вот пример: предположим, что у вас есть набор прецизионных резисторов 10К, и вам нужно значение сопротивления 27К для вашего проекта. Вам нужна комбинация резисторов 10К последовательно и / или параллельно, чтобы получить это сопротивление.

Начните с записи соотношения двух сопротивлений:

27K / 10K = 2,7

Это означает, что вам нужно два резистора последовательно с некоторой комбинацией, которая дает 0,7 резистора.

Используя концепцию непрерывных дробей, вы можете переписать число 2.7 как 2 + 1 / 1.42857. Кроме того, вы можете разбить число 1.42587 на 1 + 1 / 2.3333.

Теперь, если вы снова посмотрите на первую дробь, она может быть записана как

11,42857знак равно111+12,3333

Обратите внимание, что это, оказывается, выражение для двух резисторов параллельно; в этом случае один резистор параллельно с 2,3333 резисторами.

Как вы пришли к 2,333 резисторам? Вы можете повторить алгоритм снова, но при проверке должно быть очевидно, что вам нужно два резистора последовательно с параллельной комбинацией еще трех резисторов. Конечная сеть выглядит примерно так, и ее сопротивление составляет ровно 27К.

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

Очевидно, что не все примеры сработают. В общем, вы должны решить, когда прекратить итерации, основываясь на том, что точность сети, которую вы имеете, «достаточно близка».

Обобщенная форма алгоритма выглядит следующим образом: Определите соотношение X = R искомого / R доступного . Запишите X как непрерывную дробь, где A, B, C, D, E и т. Д. Являются целыми числами:

Иксзнак равноA+1В+1С+1D+1Е+1,,,

Создайте свою сеть с

  • Резисторы в серии с ...
  • B резисторы параллельно с ...
  • С резисторы последовательно с ...
  • D резисторы параллельно с ...
  • Е резисторы в серии с ...

... и так далее, пока вы не получите подвыражение, которое не имеет дробной части, или пока вы не достигнете "достаточно близко" к желаемому результату.

Обратите внимание, что если X для начала меньше единицы, то A будет равняться нулю, что просто означает, что вы начинаете с параллельной комбинации резисторов и продолжаете оттуда. Отметим также, что до тех пор, пока X является рациональным числом, последовательность непрерывных дробей будет конечной.

Дэйв Твид
источник
This construction (when using same-valued resistors) is known as the Stern–Brocot tree approximation. I do wonder how to generalize it to more than one value in the parts bin though...
Fizz