#matlab #simulink #discrete-mathematics
#matlab #simulink #дискретная математика
Вопрос:
Я потратил много часов, пытаясь разобраться в Simulink. Я включил свою лучшую попытку и выходной график. Я создал систему разностных уравнений, которые моделируют, как грипп распространяется в популяции с 3 компартментами (восприимчивый, инфекционный, выздоровевший (сюда включены живые или мертвые)). Уравнения верны. Где я терплю неудачу, так это в правильном построении. Я не думаю, что мои три переменные должны достигать крайних значений. Я полагаю, что моя инфекция должна была быть просто небольшой колоколообразной кривой, а две другие не должны были переходить от 100% к 0%. Мой вопрос: как я могу правильно смоделировать эту систему? Я перепробовал множество вариантов, чтобы заставить это работать.
Мои уравнения:
s_k 1 = sk - b*tau*i_k*s_k
i_k 1 = i_k - a*tau*i_k b*tau*s_k*i_k
r_k 1 = r_k a*tau*i_k
s_o = 7899990/7900000
i_o = 10/7900000
r_o = 0
Здесь tau = 1, а a и b произвольны и могут меняться (значения должны быть около a = `1/3 и b = 1/2 (и я соответствующим образом корректирую после). Это замкнутая система, ничто не входит и не выходит (население остается неизменным при суммировании)
Комментарии:
1. Вы правильно установили начальные условия внутри блоков задержки? Я также смущен тем, что у вас есть 6 блоков задержки, но только 3 параметра… Наконец,
a
иb
могут быть произвольными, но, пожалуйста, приведите нам примерные значения с ожидаемым результатом, чтобы можно было проверить любое решение!2. Как уже предлагалось, у вас слишком много блоков задержки, вам нужно всего три, что-то здесь не так. Также вы используете
s_k
вместоi_k
в первом уравнении при выполненииb*tau*i_k*s_k
, так что в итоге вы получаетеb*tau*s_k*s_k
вместо.