Я вычисляю передаточную функцию и хочу получить общее уравнение для угла числителя и знаменателя. Код угла знаменателя вызывает ошибку «RecursionError: превышена максимальная глубина рекурсии при вызове объекта Python». Пожалуйста, посмотрите и дайте мне знать, как обойти эту ошибку.
!pip install lcapy
!pip install folium
!pip instalpdflatex
!sudo apt install texlive-latex-recommended
!sudo apt install texlive-latex-extra
!sudo apt install dvipng
from lcapy import *
import lcapy
#from lcapy import s, expr
#from IPython.display import display, Math
from sympy import Symbol
#from sympy import I, re, im
cct = Circuit("""
R 1 2
C 2 0""")
H = cct.transfer(1, 0, 2, 0)
print("H =",H)
H=H(jw).simplify()
print("H(jw) =",H)
H_num, H_den = H.as_numer_denom() # Extract numerator and denominator
H_num_real = re(H_num)
H_num_imag = im(H_num)
print("num_real:",H_num_real)
print("num_imag:", H_num_imag)
H_den_real = re(H_den)
H_den_imag = im(H_den)
print("den_real:",H_den_real)
print("den_imag:", H_den_imag)
num_phase = atan2(H_num_imag, H_num_real)
print("num_phase=",num_phase)
den_phase = atan2(H_den_imag,H_den_real)
закомментирование последней строки приведет к тому, что код будет работать, а раскомментирование приведет к ошибке.
Я попробовал функцию atan2() и получил ошибку. ожидая четко определенного выражения.
вывод:
H=((1/(C*R))/(s + 1/(C*R)))*1
H(jw)=1/(j*C*R*omega + 1)
num_real:1
num_imag:0
den_real:1
den_imag:C*R*omega
num_phase:0
Подробнее здесь: https://stackoverflow.com/questions/790 ... hon-object
«RecursionError: превышена максимальная глубина рекурсии при вызове объекта Python», мы вычисляем фазовый угол функции п ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение