유클리드 알고리즘에 대한이 기사를 기억하는 사람이 있습니까?


20

70 년대에 나는 오래된 아마추어 라디오 잡지 (50 ~ 60 년대)를 쌓았으며 오랫동안 유클리드 알고리즘 을 사용하여 여러 저항을 결합하여 특정 값을 얻는 것에 관한 기사를 저장했습니다 . 누구나이 기사의 사본을 기억하고 있거나 유클리드 알고리즘 이이 문제를 해결하는 데 어떻게 적용되는지 알고 있습니까?

답변:


38

실제로 는 분수 의 이론에 기초하고 있는데, 이는 유클리드의 두 숫자 사이에서 GCD를 찾는 방법과 밀접한 관련이 있습니다.

예를 들면 다음과 같습니다. 10K 정밀 저항기가 여러 개 있고 프로젝트에 27K의 저항 값이 필요하다고 가정합니다. 해당 저항을 생성하려면 10K 저항을 직렬 및 / 또는 병렬로 조합해야합니다.

두 저항의 비율을 작성하여 시작하십시오.

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 저항은 어떻게 되나요? 알고리즘을 다시 반복 할 수는 있지만 3 개의 추가 저항을 병렬로 조합하여 2 개의 저항이 직렬로 연결되어 있는지 검사해야합니다. 최종 네트워크는 다음과 같이 보입니다. 저항은 정확히 27K입니다.

개략도

이 회로 시뮬레이션CircuitLab을 사용하여 작성된 회로도

분명히, 모든 예제가 이것을 잘 해결할 수있는 것은 아닙니다. 일반적으로 지금까지의 네트워크 정밀도가 "충분히 근접한"시점에 따라 반복 중지시기를 결정해야합니다.

알고리즘의 일반화 된 형태는 다음과 같습니다 : X = R desired / R available 비를 결정하십시오 . X를 연속 분수로 쓰십시오. 여기서 A, B, C, D, E 등은 모두 정수입니다.

엑스=에이+1+1기음+1+1이자형+1...

와 네트워크를 구축

  • ...와 직렬로 연결된 저항
  • B 병렬 저항
  • C 저항과 직렬 연결 ...
  • 병렬 병렬 저항 ...
  • ...와 직렬로 연결된 E 저항

... 분수 부분이없는 하위 표현식을 얻거나 원하는 결과에 "충분히 근접"할 때까지 계속합니다.

X가 시작하기 위해 1보다 작 으면 A는 0이됩니다. 이는 단순히 저항의 병렬 조합으로 시작하여 거기서 시작한다는 것을 의미합니다. 또한 X가 유리수 인 한 연속 된 분수의 순서는 유한합니다.


이 구성 (동일한 값의 저항기를 사용하는 경우)을 Stern–Brocot 트리 근사라고합니다. 부품 빈에서 하나 이상의 값으로 일반화하는 방법이 궁금합니다.
Fizz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.