schoolМатематика
verifiedРешено AI
Решение ошибки Derivative of state '1' is not finite в Simulink (10 вариант)
help_outlineУсловие задачи
На примере 5 варианта сделать для 10 Реши задачу: Подробно, какие блоки и что вписыватб

lightbulbКраткий ответ
Ошибка 'Derivative of state '1' is not finite' в Simulink возникает из-за деления на ноль или неправильных обратных связей. Для 10 варианта важно проверить деление на V и начальные условия в Integrator.
Подробное решение
Ошибка "Derivative of state '1' is not finite" означает, что в расчетах появилось бесконечно большое число (деление на ноль или слишком быстрый рост функции). В вашей модели это чаще всего происходит из-за неправильной настройки обратных связей или деления на переменную, которая равна нулю.
Вот пошаговая инструкция, как это исправить для 10 варианта:
1. Проверьте деление на \( V \):
Убедитесь, что в блоках Fcn вы используете переменную \( u(2) \) (если \( V \) подается на второй вход) и что в Workspace или в параметрах модели переменная \( V \) не равна нулю. По условию \( V = 100 \). Если вы забыли подать \( V \) на вход блока Fcn, он может воспринимать пустой сигнал как ноль.
2. Проверьте начальные условия в Integrator:
Для 10 варианта начальные значения должны быть:
- Интегратор для \( A \): \( 70 \)
- Интегратор для \( B \): \( 30 \)
- Интегратор для \( P1 \): \( 0 \)
- Интегратор для \( P2 \): \( 0 \)
Если там стоят очень большие числа или "Inf", модель выдаст ошибку.
3. Проверьте правильность векторов в блоке Mux:
Если вы используете блок Fcn, убедитесь, что количество входов в блоке Mux совпадает с количеством переменных, которые вы используете в формуле \( u(1), u(2) \) и т.д. Если формула обращается к \( u(6) \), а в Mux всего 3 входа — возникнет ошибка.
4. Настройка решателя (Solver):
Иногда стандартный решатель не справляется с жесткими системами.
- Зайдите в Simulation -> Model Configuration Parameters.
- Вкладка Solver.
- Смените Solver type на "Fixed-step" и выберите "ode4 (Runge-Kutta)".
- Установите Fixed-step size: \( 0.01 \).
5. Проверьте формулы в блоках Fcn еще раз:
Убедитесь, что знаки умножения \( * \) стоят везде. Например, запись \( K1A(t) \) Simulink не поймет, нужно писать \( K1 * u(3) \).
Исправление этих технических моментов позволит системе работать стабильно. В отечественной инженерной практике всегда ценится умение доводить расчетную модель до рабочего состояния, устраняя возникающие математические сингулярности.