Почему следующий код Sympy не распознает s? ⇐ Python

Программы на Python
Anonymous
Почему следующий код Sympy не распознает s?

Сообщение Anonymous »

Я пишу код для расчета передаточной функции RC-цепи. Предполагается, что в результате получится уравнение с числителем и знаменателем, где знаменатель содержит член s. Вывод латекса показывает, что это так, но код его не распознает. вот код:

Код: Выделить всё

import lcapy
import sympy as sp
from IPython.display import display, Math

# Define the symbolic variable s
s = sp.symbols('s')

# Define a simple RC circuit netlist
netlist = """
R1 1 2
C1 2 0
"""

# Create a Circuit object from the netlist
circuit = lcapy.Circuit(netlist)

# Find the transfer function from node (0) to node (2)
h = circuit.transfer(0, 1, 0, 2).simplify()
display(Math(f"H(s) = {h.latex()}"))

# Check if h has 's'
if not h.has(s):
raise ValueError("Transfer function h does not contain 's'.")
Я попробовал запустить приведенный выше код в Colab. Я ожидаю, что он не выдаст ValueError «Функция передачи h не содержит 's.'». но продолжает выдавать эту ошибку. Ошибка служит проверкой того, способна ли программа распознать наличие буквы s в знаменателе, но не распознает ее, хотя она явно там есть.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ognizing-s

Вернуться в «Python»