12
Руководство пользователя
×

3.4 Пример использования команды

В качестве примера использования Покоординатной оптимизации можно привести расчет дальности полета камня. Камень бросают вверх под различными углами к горизонту с одинаковой скоростью. В момент, когда высота становится равной –0.001 [m], расчет останавливается (камень упал на землю). Оптимизируемым параметром в данном примере является угол бросания камня (скаляр angle), а критерием – дальность полета камня (датчик distance).
Скаляр angle имеет начальное значение 25 [deg], левая граница – 25 [deg], правая граница – 55 [deg], шаг – 1 [deg], количество операций по дроблению шага – 1, тип расчета – динамика движения.
Перед проведением Покоординатной оптимизации необходимо задать временной отрезок интегрирования 2 [s]. Если не изменить временной отрезок интегрирования 1 [s], установленный по умолчанию, то за это время процесс не завершится, то есть камень не успеет упасть на землю.
Файл проекта
point point1=point( 0 [ m ], 0 [ m ], 0 [ m ] );
solid solid1=sphere( point1, 0.1 [ m ], mass = 1 [ kg ] );
color color1=index( 25 );
body stone=body( color = color1 );
body stone < ( solid1 );
body ground=body( color = RGB( 229, 229, 229 ) );
set ground = ground;
sensor distance=bodyDisplacement( ground, point1, projectX, stone, point1 );
scalar angle=25[ deg ];
node node3=node( point1, 0 [ deg ], 0 [ deg ], angle, color = index( 36 ) );
condition condition1=transVelocity( ground, vectorX( node3 ), stone, point1, 6 [m/s] );
gravity gravity1=parallel( reverse( projectY ), g = 9.807[ m/ s2 ] );
sensor height=bodyDisplacement( ground, point1, projectY, stone, point1 );
reform reform1=stop(  );
event event1=reformsBySensor( list( reform1 ), height, -0.001 [ m ] );
command command1=optimizeCoord( maximum:, distance, list( angle ), list( 25 [deg] ), list( 55 [deg] ), list( 1  [ deg ] ), 1, 100,   comDynamics );
 
На Рис. 5 приведены графики, полученные в результате проведения Покоординатной оптимизации.
 
Рис. 5. Результаты Покоординатной оптимизации
 
Ниже приведена таблица результатов Покоординатной оптимизации (формат TBL), полученная из диалогового окна Покоординатная оптимизация.
Таблица результатов Покоординатной оптимизации
//Покоординатная оптимизация command1
3
N [ ]
distance  [ m ]
angle  [ deg ]
//          N                      distance              angle
 0.00000e+000   2.81417e+000   2.50000e+001 
 1.00000e+000   2.89471e+000   2.60000e+001 
 2.00000e+000   3.04515e+000   2.80000e+001 
 3.00000e+000   3.24283e+000   3.10000e+001 
 4.00000e+000   3.45090e+000   3.50000e+001 
 5.00000e+000   3.61627e+000   4.00000e+001 
 6.00000e+000   3.67185e+000   4.50000e+001 
Из таблицы видно, что оптимальное значение угла бросания камня – 45 [deg], а дальность полета – 3,67185 [m].