Как имитировать модели во временной области на основе блок-схем (Simulink-like)?
Некоторое время я размышлял об этом и интересовался наиболее логичной реализацией для моделирования моделей во временной области на основе блок-схем.
Я не знаю, правильный ли этот термин, но если вы знаете Simulink, вы понимаете, о чем я.
Мне интересно, что я сам сделал несколько симуляционных моделей, но я всегда застреваю, когда создаю петли обратной связи. В большинстве случаев это не проблема, когда я работаю с блоками, которые я могу перевести в область пространства состояний, но когда я получаю более сложные элементы, это становится проблемой.
Практически я не могу понять, как Simulink решает это.
Я думал, что практически для каждого временного отсчета каждый блок вычисляет свое текущее состояние и передает его в подключенные блоки для следующего временного отсчета, однако, когда у вас есть:
->A->B->C->D
^-----|
4 блока с обратной связью к A и входом к A, требуется 3 раза, чтобы достичь C, после чего C снова начнет излучать на A. До этого C испускал бы его начальное значение. Для достижения D. требуется 4 раза
Когда A,B,C,D являются простыми подобными лапласу элементами, это легко комбинируется в пространстве состояний или передаточной функции от A к D, однако результаты будут существенно отличаться. Потому что это займет 1 раз выборку от A до D и от C до A. Я знаю, что когда передаточная функция требует от вас, как правило, указывать начальные условия, но эти условия нельзя перевести (или я не могу видеть это), чтобы решение блок-схемы. Как вы решаете эту проблему в общем виде?