новый вопрос
14.12.2019
Здравствуйте.
Помогите пожалуйста найти ошибку при выполнении задания:
Провести моделирование взлета ракеты при значениях параметров m0 = 2 * 10^7 кг, mкон = 2 *10^5 кг, a = 2 * 10^5 кг/c, Fтяги = 4*10^8 н. Ответить на вопрос: достигнет ли ракета при этих значениях параметров первой космической скорости 7,8 км/с?
не получается исправить
Ответы
Ошибка симуляции возникает из-за того, что выход блока If напрямую замыкается на его же вход, и Simulink не может это решить, что вполне нормально. Невозможно рассчитать выход блока, когда мы не знаем, что у него на входе, потому что мы вход еще не рассчитали, потому что он и есть выход, который мы не можем рассчитать, потому что не знаем, что на входе... и так до бесконечности. Это называется алгебраическая петля.
Ошибка же модели в том, что для решения задачи не нужен блок If. Честно говоря, не до конца понял, какую логику вы хотели заложить, но если нужно ограничить минимальную массу и остановить симуляцию, когда топливо кончилось, можно сделать модель, как на приложенной картинке.
Блок Saturation Dynamic ограничивает массу снизу, а блок Relational Operator сравнивает массу с нижним пределом, чтобы остановить симуляцию.