Я пытаюсь провести моделирование теории управления.
Задача здесь в том, что у меня есть латекс каждого блока системы в Лапласе.
Мне нужно моделировать это шаг за шагом, потому что позже мне нужно добавить немного шума между каждым блоком.
Сначала я увидел, что этот код работает, но после нескольких примеров я понял, что он расходится там, где должен был сходиться.
Возможно, у меня здесь слабые знания.
У меня была эта симуляция, но она расходится, что я могу сделать?
Как я могу изменить ее, чтобы она работала? Возможно, переезд в Z dom? У вас есть другие идеи?
from sympy import inverse_laplace_transform, symbols, laplace_transform
from latex2sympy2 import latex2sympy
def simulate(time, transfer_function, input_signal=None):
s, t = symbols('s t')
tf_sympy = latex2sympy(transfer_function)
if input_signal is not None:
input_laplace = laplace_transform(input_signal, t, s)[0]
tf_sympy = input_laplace * tf_sympy
time_domain_operation = inverse_laplace_transform(tf_sympy, s, t)
output_signal = time_domain_operation.subs(t, time)
return output_signal
delta = 0.1
cycles = 100
input_tf = '\\frac{1}{s}'
sensor_tf = '\\frac{1}{s}'
controller_tf = '1'
actuator_tf = '\\frac{1}{s}'
process_tf = '\\frac{1}{s^2}'
output = 0
for i in range(cycles):
time = i * delta
input_signal = simulate(time, input_tf, input_signal=None)
sensor = simulate(time, sensor_tf, output)
error = input_signal - sensor
controller = simulate(time, controller_tf, error)
actuator = simulate(time, actuator_tf, controller)
process = simulate(time, process_tf, actuator)
output += process
print(f'time: {time} error: {error} input: {input_signal} sensor: {sensor} controller: {controller} actuator: {actuator} process: {process} output: {output}')
Подробнее здесь: https://stackoverflow.com/questions/791 ... rol-theory
Пошаговая симуляция теории управления ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Пошаговая горизонтальная прокрутка до тех пор, пока элемент не будет найден
Anonymous » » в форуме Python - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Пошаговая горизонтальная прокрутка до тех пор, пока элемент не будет найден
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-