LoginSignup
0
0

回路トポロジーのメモ帳

Last updated at Posted at 2024-05-02

回路の簡単な計算のために。
Pythonのコードも載せておく。

テブナンの定理
IMG_2459.jpeg

テブナンの定理とホイーストンブリッジ
IMG_2455.jpeg

I5=(R2R3-R1R4)/(R1R2R3+R1R2R4+R1R3R4+ R1R3R5+R1R4R5+R2R3R4+R2R3R5+R2R4R5)×V1



def calculate_I5(R1, R2, R3, R4, R5, V1):
    numerator = (R2*R3 - R1*R4)
    denominator = (R1*R2*R3 + R1*R2*R4 + R1*R3*R4 + R1*R3*R5 + R1*R4*R5 + R2*R3*R4 + R2*R3*R5 + R2*R4*R5)
    
    if denominator != 0:  # 分母が0でない場合のみ計算を行う
        I5 = (numerator / denominator) * V1
        return I5
    else:
        print("Error: Denominator is zero, division by zero not allowed.")

# 例: 数値を与えて計算する
R1 = 2.0
R2 = 3.0
R3 = 4.0
R4 = 5.0
R5 = 6.0
V1 = 10.0

I5_value = calculate_I5(R1, R2, R3, R4, R5, V1)
if I5_value is not None:
    print("I5 =", I5_value)



デルタスター変換(仮)フィルター

IMG_2460.jpeg

デルタスター変換は、フィルターとして使用される場合、T型またはπ型回路と言い換えられる。

IMG_2456.jpeg

G=(Z1Z2+Z2Z3+Z3Z1+Z3Z4)/(Z1Z2+Z2Z3+Z3Z1+Z3Z4+Z4Z1)


import cmath

def calculate_G(Z1, Z2, Z3, Z4):
    numerator = Z1*Z2 + Z2*Z3 + Z3*Z1 + Z3*Z4
    denominator = Z1*Z2 + Z2*Z3 + Z3*Z1 + Z3*Z4 + Z4*Z1
    
    if denominator != 0:
        G = numerator / denominator
        return G
    else:
        return None  # 分母がゼロの場合はエラーを返すか、適切な処理を行ってください

# 実際の値を入力してGを計算する例(複素数の場合、cmath.rect関数を使用して極形式で表現します)
Z1 = cmath.rect(2, cmath.pi/4)  # Z1 = 2 * e^(i*pi/4)
Z2 = cmath.rect(3, cmath.pi/3)  # Z2 = 3 * e^(i*pi/3)
Z3 = cmath.rect(1, cmath.pi/6)  # Z3 = 1 * e^(i*pi/6)
Z4 = cmath.rect(4, cmath.pi/2)  # Z4 = 4 * e^(i*pi/2)

result_G = calculate_G(Z1, Z2, Z3, Z4)
if result_G is not None:
    print("Gの値は:", result_G)
else:
    print("分母がゼロになるため計算できません。")

2段ラダー(仮)型フィルター
2段L型回路
IMG_2457.jpeg

G=(Z1Z2+Z1Z3+Z2Z3+Z3Z4)÷ (Z1Z2+Z1Z3+Z2Z3+Z3Z4+Z1Z4)

import cmath

def calculate_G(Z1, Z2, Z3, Z4):
    numerator = Z1*Z2 + Z1*Z3 + Z2*Z3 + Z3*Z4
    denominator = Z1*Z2 + Z1*Z3 + Z2*Z3 + Z3*Z4 + Z1*Z4
    
    if denominator != 0:
        G = numerator / denominator
        return G
    else:
        return None  # 分母がゼロの場合はエラーを返すか、適切な処理を行ってください

# 実際の値を入力してGを計算する例(複素数の場合、cmath.rect関数を使用して極形式で表現します)
Z1 = 2 + 1j  # Z1 = 2 + j
Z2 = 3 + 2j  # Z2 = 3 + 2j
Z3 = -1 + 1j  # Z3 = -1 + j
Z4 = 4 - 3j  # Z4 = 4 - 3j

result_G = calculate_G(Z1, Z2, Z3, Z4)
if result_G is not None:
    print("Gの値は:", result_G)
else:
    print("分母がゼロになるため計算できません。")


キルヒホッフの法則と行列計算

IMG_2458.jpeg

PythonよりもWolframを使った方が速く計算できるかもしれない。

3×3行列法としてホイートストンブリッジ

import numpy as np

def calculate_inverse_matrix(matrix):
    # 行列の逆行列を計算
    try:
        inv_matrix = np.linalg.inv(matrix)
        return inv_matrix
    except np.linalg.LinAlgError:
        # 逆行列が存在しない場合
        print("逆行列は存在しません。")
        return None

def solve_linear_equations(matrix, vector):
    # 連立方程式を解く
    try:
        solution = np.linalg.solve(matrix, vector)
        return solution
    except np.linalg.LinAlgError:
        # 解が存在しない場合
        print("解が存在しません。")
        return None

# 3×3行列を入力
A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

# 逆行列を計算
inverse_A = calculate_inverse_matrix(A)
if inverse_A is not None:
    print("逆行列:\n", inverse_A)

# 3×3係数行列と右辺のベクトルを定義
A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

b = np.array([6, 15, 24])  # 右辺のベクトル

# 連立方程式を解く
solution = solve_linear_equations(A, b)
if solution is not None:
    print("連立方程式の解:", solution)


テブナンの定理試し打ち回路(仮)
電験頻出
IMG_2462.jpeg

# 与えられた数値を変数に代入
a = 2
b = 3
c = 8
d = 5
e = 9

# R合の計算
R合 = (a * b) / (a + b) + (e * d) / (e + d)

# Vの計算
E1 = 10  # E1の値を適切な値に置き換える
E2 = 15  # E2の値を適切な値に置き換える
V = (E1 * b) / (a + b) - (E2 * d) / (e + d)

# 求める電流の計算
求める電流 = V / (R合 + c)

# 結果の表示
print("R合の値:", R合)
print("Vの値:", V)
print("求める電流の値:", 求める電流)


IMG_2463.jpeg

def calculate_R(a, b, c, d, e):
    A = a * b / (a + b + c)
    B = a * c / (a + b + c)
    C = b * c / (a + b + c)
    
    numerator = (B + d) * (C + e)
    denominator = B + d + C + e
    
    R = A + numerator / denominator
    return R

# 例として、a=1, b=2, c=3, d=4, e=5 の場合の計算
a = 1
b = 2
c = 3
d = 4
e = 5

result = calculate_R(a, b, c, d, e)
print("計算結果 R =", result)


IMG_2582.jpeg

デルタスター変換をして最後はテブナンの定理の回路

IMG_6087.jpeg

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0