非常に大規模な回路の電圧変化をプログラムで計算しようとしています。
*この質問は電子機器に向けられているように見えるかもしれませんが、一連のデータにアルゴリズムを適用することに関するものです。
簡単にするため
に、電圧がすでに計算された完全な回路を次に示します。
私はもともとバッテリー電圧と抵抗のみを与えられています:
私が抱えている問題は、並列回路と直列回路の間で電圧の計算が異なることです。
SOで尋ねられたやや似た質問。
いくつかの数式:
When resistors are in parallel:
Rtotal = 1/(1/R1 + 1/R2 + 1/R3 ... + 1/Rn)
When resistors are in series:
Rtotal = R1 + R2 + R3 ... + Rn
オームの法則:
V = IR
I = V/R
R = V/I
V is voltage
(volts)
I is current
(amps)
R is resistance
(ohms)
私がインターネットで見つけたすべてのチュートリアルは、並列回路を概念的にグループ化して総抵抗を取得し、その抵抗を使用して直列抵抗を計算する人々で構成されています。
これは小さな例では問題ありませんが、大規模な回路のアルゴリズムを導き出すのは困難です。
私の質問:
すべての完全なパスのマトリックスが与えられた場合、
すべての電圧降下を計算する方法はありますか?
私は現在、システムをグラフデータ構造として持っています。
すべてのノードは ID 番号で表されます (また、ID 番号で検索できます)。
上記の例では、トラバーサルを実行すると、次のようなパスのリストが返されます。
[[0,1,2,4,0]
,[0,1,3,4,0]]
各番号は、実際のノードとそれに対応するデータを導出するために使用できます。このデータセットに対してどのような変換/アルゴリズムを実行する必要がありますか?
回路の一部が複合化される可能性が非常に高く、それらの複合化セクションは、他の複合化セクションと並列または直列になる可能性があります。
私の問題はこれに似ていると思います:
http://en.wikipedia.org/wiki/Series-parallel_partial_order