ユークリッドアルゴリズムに関するこの記事を覚えている人はいますか?


20

70年代に私は古いアマチュア無線雑誌(50代から60代)のスタックを持ち、長い間、ユークリッドアルゴリズムを使用していくつかの抵抗器を組み合わせて特定の値を達成することに関する記事を保存しました。誰もがこの記事を思い出してコピーを持っていますか、またはこの問題を解決するためにユークリッドアルゴリズムがどのように適用されるかを知っていますか?

回答:


38

実際には、連続分数の理論に基づいています。これは、2つの数値の間でGCDを見つけるユークリッドの方法に密接に関連しています。

次に例を示します。10Kの高精度抵抗器がたくさんあり、プロジェクトに27Kの抵抗値が必要だとします。その抵抗を生成するには、直列および/または並列の10K抵抗器の組み合わせが必要です。

2つの抵抗の比率を書くことから始めます。

27K / 10K = 2.7

これは、0.7の抵抗を与える組み合わせと2つの抵抗が直列に必要であることを意味します。

連続分数の概念を使用して、数値2.7を2 + 1 / 1.42857に書き換えることができます。さらに、数値1.42587を1 + 1 / 2.3333に分割できます。

さて、最初の分数をもう一度見ると、次のように書くことができます。

11.42857=111+12.3333

これはたまたま並列に接続された2つの抵抗の式であることに注意してください。この場合、2.3333の抵抗と並列の1つの抵抗。

2.333抵抗器はどのように作成しますか?アルゴリズムを再度繰り返すことができますが、検査により、2つの抵抗が直列に必要であり、さらに3つの抵抗の並列の組み合わせが必要であることは明らかです。最終的なネットワークは最終的にこのようになり、正確に27Kの抵抗があります。

回路図

この回路のシミュレーションCircuitLabを使用して作成された回路

明らかに、すべての例がこれでうまくいくわけではありません。一般に、これまでのネットワークの精度が「十分に近い」ときに基づいて、反復を停止するタイミングを決定する必要があります。

アルゴリズムの一般化された形式は次のようになります:比率X = R 望ましい / R availableを決定します。A、B、C、D、Eなどがすべて整数である場合、Xを連続した分数として書き込みます。

バツ=A+1B+1C+1D+1E+1

でネットワークを構築

  • と直列の抵抗...
  • 並列のB抵抗...
  • 直列のC抵抗器...
  • 並列のD抵抗...
  • 直列のE抵抗器...

...など、小数部分のない部分式を取得するか、目的の結果に「十分に近い」結果を得るまで。

Xが1未満の場合、Aはゼロになることに注意してください。これは、抵抗の並列組み合わせから始めて、そこから先に進むことを意味します。また、Xが有理数である限り、連分数のシーケンスは有限であることに注意してください。


この構造(同じ値の抵抗を使用する場合)は、Stern–Brocotツリー近似として知られています。I ...けれども部品ビンに複数の値にそれを一般化する方法を不思議を行う
フィズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.