exponenta event banner

воспроизведение (Aero.FleyGearAnimation)

Анимация симулятора полета FleyGear с использованием заданного временного ряда положение/угол

Синтаксис

play(h)
h.play

Описание

play(h) и h.play анимация симулятора полета FleyGear с использованием указанных временных рядов в h. Данные временных рядов могут быть установлены в h с помощью свойства 'TimeseriesSource'.

Данные временного ряда, хранящиеся в свойстве 'TimeseriesSource', интерпретируется в соответствии с 'TimeseriesSourceType' свойство, которое может быть одним из:

'Timeseries'

Данные временных рядов MATLAB ® с шестью значениями в раз:

latitude longitude altitude phi theta psi

Значения повторно дискретизируются.

'StructureWithTime'

Структура Simulink ® со временем (например, регистрация исходящего порта корня Simulink)'Structure with time'):

  • signals(1).values: latitude longitude altitude

  • signals(2).values: phi theta psi

Сигналы линейно интерполируются в зависимости от времени с использованием interp1.

'Array6DoF'Массив с двойной точностью в n строки и 7 столбцов для 6-DoF данных: time latitude longitude altitude phi theta psi. Если массив с двойной точностью из 8 или более столбцов находится в 'TimeseriesSource'первые 7 столбцов используются в качестве 6-DoF данных.
'Array3DoF'Массив с двойной точностью в n строки и 4 столбца для 3-DoF данных: time latitude altitude theta. Если массив с двойной точностью из 5 или более столбцов находится в 'TimeseriesSource'первые 4 столбца используются в качестве 3-DoF данных.
'Custom'Данные о положении и угле извлекаются из 'TimeseriesSource' зарегистрированным в настоящее время 'TimeseriesReadFcn'.

Алгоритм продвижения по времени, используемый play основан на кадрах анимации, отсчитанных по засечкам:

ticks = ticks + 1;
time  = tstart + ticks*FramesPerSecond*TimeScaling;

где

TimeScalingУкажите секунды данных анимации в секунду времени настенного времени.
FramesPerSecondУкажите количество кадров в секунду, используемых для анимации 'TimeseriesSource'.

По умолчанию 'TimeseriesReadFcn' методы, последний воспроизведенный кадр является последним значением времени.

Время в секундах, значения положения находятся в тех же единицах, что и геометрическая модель, которая будет использоваться FlireGear (см. свойство 'GeometryModelName'), и все углы находятся в радианах. Возможным результатом использования неправильных блоков является досрочное прекращение работы симулятора полета FlireGear.

Примечание

При наличии 15% разницы между ожидаемым временным опережением и фактическим временным опережением этот метод генерирует следующее предупреждение:

TimerPeriod has been set to <value>. You may wish to modify the animation
TimeScaling and FramesPerSecond properties to compensate for the 
millisecond limit of the TimerPeriod.  See documentation for details.

play поддерживает объекты анимации FleyGear с пользовательскими таймерами.

Ограничения

Ниже приведены ограничения для TStart и TFinal значения:

  • TStart и TFinal должен быть числовым.

  • TStart и TFinal не может быть Inf или NaN.

  • TFinal должно быть больше или равно TStart.

  • TFinal не может быть больше максимального Timeseries время.

  • TStart не может быть меньше минимума Timeseries время.

Примеры

Анимация симулятора полета FleyGear с использованием данного 'Array3DoF' данные временного ряда позиция/угол:

data = [86.2667 -2.13757034184404 7050.896596 -0.135186746141248;...
        87.2833 -2.13753906554384 6872.545051 -0.117321084678936;...
        88.2583 -2.13751089592972 6719.405713 -0.145815609299676;...
        89.275  -2.13747984652232 6550.117118 -0.150635248762596;...
        90.2667 -2.13744993157894 6385.05883  -0.143124782831999;...
        91.275  -2.13742019116849 6220.358163 -0.147946202530756;...
        92.275  -2.13739055547779 6056.906647 -0.167529704309343;...
        93.2667 -2.13736104196014 5892.356118 -0.152547361677911;...
        94.2583 -2.13733161570895 5728.201718 -0.161979312941906;...
        95.2583 -2.13730231163081 5562.923808 -0.122276929636682;...
        96.2583 -2.13727405475022 5406.736322 -0.160421658944379;...
        97.2667 -2.1372440001805  5239.138477 -0.150591353731908;...
        98.2583 -2.13721598764601 5082.78798  -0.147737722951605];
h = fganimation
h.TimeseriesSource = data
h.TimeseriesSourceType = 'Array3DoF'
play(h)

Анимация симулятора полета FlireGear с помощью пользовательского таймера, MyFGTimer.

h.play('MyFGTimer')

См. также

| |

Представлен в R2007a