Интерактивное вмешательство.
Концепция виртуального стенда предусматривает возможность активного вмешательства пользователя в функционирование модели. В частности, пользователь может изменять значения переменных во время прогона модели. Например, пусть вы хотите исследовать поведение вашего маятника при изменении ускорения силы тяжести g. Для этого нужно, во-первых, трансформировать g из константы в переменную. Замечание. Константа – это величина, которая никогда не меняется. Параметр – это величина, которая может меняться для разных экземпляров класса и для данного экземпляра только однократно в начале прогона. Переменная может меняться во время прогона модели.
Такую трансформацию очень легко выполнить методом «drag-and-drop», перетащив g из секции констант в секцию переменных в определении класса (Рис. 5.13Рис. 5.7).
Рис. 5.137 Пусть мы желаем, например, в конце первого периода колебаний сделать значение g равным 50. Щелкните дважды мышью на строке этой переменной в окне переменных)модель можно и не останавливать) и в появившемся диалоге (Рис. 5.15Рис. 5.8) задайте новое значение (можно вводить не только числовые значения, но и любые формулы, включающие предопределенные функции и переменные модели, например 5*g*sin(Time)).
Рис. 5.158 Результат изменения виден на Рис. 5.17Рис. 5.9: с ростом g частота колебаний увеличивается.
Рис. 5.179 Для того, чтобы менять переменную плавно, необходима 2D-анимация.
Замечание. Визуальные инструменты моделирования дают огромные возможности, но пользоваться ими нужно с оглядкой на существо математической модели. Например, если вы захотите скачком изменить длину маятника L, вам нужно будет не забыть одновременно изменить и угловую скорость Omega, чтобы не нарушить закон сохранения момента импульса, в противном случае вы получите неверный результат. Если же вы захотите менять L плавно, то это вообще нельзя делать: нужно вводить другие уравнения. К сожалению, пакет моделирования не в состоянии контролировать семантику задачи и позволит вам плавно менять L, оставляя на вашей совести совершенно физически бессмысленный полученный результат.
|