perturbations

Возмущение задано на объекте

Описание

пример

perturbs = perturbations(obj) возвращает список возмущений свойства, perturbs, заданный на объекте, obj. Возвращенный perturbs списки все perturbable свойства. Если какое-либо свойство не встревожено, то его соответствующий Type возвращен как "Null" и его соответствующий Value возвращен как {Null,Null}.

perturbs = perturbations(obj,property) возвращается текущее возмущение применилось к заданному property.

perturbs = perturbations(obj,property,'None') задает property это не должно быть встревожено.

пример

perturbs = perturbations(obj,property,'Selection',values,probabilities) задает property возмущение возместило чертивший от набора values это имеет соответствующий probabilities.

perturbs = perturbations(obj,property,'Normal',mean,deviation) задает property возмущение возместило чертивший от нормального распределения с заданным mean и стандартный deviation.

пример

perturbs = perturbations(obj,property,'Uniform',minVal,maxVal) задает property смещение возмущения, полученное из равномерного распределения через определенный интервал [minVal'MaxValue' ].

perturbs = perturbations(obj,property,'Custom',perturbFcn) позволяет вам задать пользовательскую функцию, perturbFcn, это чертит значение смещения возмущения.

Примеры

свернуть все

Создайте waypointTrajectory объект.

traj = waypointTrajectory;

Покажите свойства возмущения по умолчанию с помощью perturbations метод.

perturbs = perturbations(traj)
perturbs=2×3 table
       Property         Type           Value       
    _______________    ______    __________________

    "Waypoints"        "None"    {[NaN]}    {[NaN]}
    "TimeOfArrival"    "None"    {[NaN]}    {[NaN]}

Создайте insSensor объект.

sensor = insSensor
sensor = 
  insSensor with properties:

        RollAccuracy: 0.2                deg
       PitchAccuracy: 0.2                deg
         YawAccuracy: 1                  deg
    PositionAccuracy: 1                  m  
    VelocityAccuracy: 0.05               m/s
        RandomStream: 'Global stream'       

Задайте возмущение на RollAccuracy свойство как три значения с равной возможностью каждый.

values = {0.1 0.2 0.3}
values=1×3 cell array
    {[0.1000]}    {[0.2000]}    {[0.3000]}

probabilities = [1/3 1/3 1/3]
probabilities = 1×3

    0.3333    0.3333    0.3333

perturbations(sensor,'RollAccuracy','Selection',values,probabilities)
ans=5×3 table
         Property            Type                  Value           
    __________________    ___________    __________________________

    "RollAccuracy"        "Selection"    {1x3 cell}    {1x3 double}
    "PitchAccuracy"       "None"         {[   NaN]}    {[     NaN]}
    "YawAccuracy"         "None"         {[   NaN]}    {[     NaN]}
    "PositionAccuracy"    "None"         {[   NaN]}    {[     NaN]}
    "VelocityAccuracy"    "None"         {[   NaN]}    {[     NaN]}

Встревожьте sensor объект с помощью встревожить функции.

rng(2020)
perturb(sensor);
sensor
sensor = 
  insSensor with properties:

        RollAccuracy: 0.5                deg
       PitchAccuracy: 0.2                deg
         YawAccuracy: 1                  deg
    PositionAccuracy: 1                  m  
    VelocityAccuracy: 0.05               m/s
        RandomStream: 'Global stream'       

RollAccuracy встревожен к 0.5 градус.

Задайте waypoint траекторию. По умолчанию эта траектория содержит два waypoints.

traj = waypointTrajectory
traj = 
  waypointTrajectory with properties:

         SampleRate: 100
    SamplesPerFrame: 1
          Waypoints: [2x3 double]
      TimeOfArrival: [2x1 double]
         Velocities: [2x3 double]
             Course: [2x1 double]
        GroundSpeed: [2x1 double]
          ClimbRate: [2x1 double]
        Orientation: [2x1 quaternion]
          AutoPitch: 0
           AutoBank: 0
     ReferenceFrame: 'NED'

Задайте возмущения на Waypoints свойство и TimeOfArrival свойство.

rng(2020);
perturbs1 = perturbations(traj,'Waypoints','Normal',1,1)
perturbs1=2×3 table
       Property          Type            Value       
    _______________    ________    __________________

    "Waypoints"        "Normal"    {[  1]}    {[  1]}
    "TimeOfArrival"    "None"      {[NaN]}    {[NaN]}

perturbs2 = perturbations(traj,'TimeOfArrival','Selection',{[0;1],[0;2]})
perturbs2=2×3 table
       Property           Type                  Value           
    _______________    ___________    __________________________

    "Waypoints"        "Normal"       {[     1]}    {[       1]}
    "TimeOfArrival"    "Selection"    {1x2 cell}    {1x2 double}

Встревожьте траекторию.

offsets = perturb(traj)
offsets=2×1 struct array with fields:
    Property
    Offset
    PerturbedValue

Waypoints свойство и TimeOfArrival свойство изменилось.

traj.Waypoints
ans = 2×3

    1.8674    1.0203    0.7032
    2.3154   -0.3207    0.0999

traj.TimeOfArrival
ans = 2×1

     0
     2

Входные параметры

свернуть все

Объект, который будет встревожен в виде объекта. Объекты, которые можно встревожить, включают:

Свойство Perturbable в виде имени свойства. Для каждого объекта, перечисленного в obj, соответствующие perturbable свойства перечислены в Больше О.

Возмущение возместило значения в виде n - массив ячеек элемента значений свойств. Функция случайным образом чертит значение возмущения для свойства от массива ячеек на основе соответствующих вероятностей значений, заданных в probabilities входной параметр.

Рисование вероятностей для каждого значения возмущения в виде n - массив элемента неотрицательных скаляров, где n является количеством значений возмущения, введенных в values входной параметр. Сумма всех элементов должна быть равна одному.

Например, можно задать серию пары вероятности значения возмущения как {x1x2 , …, xn} и {p1, p2pn }, где вероятность рисования xi pi i = 1, 2, …, n).

Среднее значение нормального распределения в виде скаляра, вектора или матрицы. Размерность mean должно быть совместимо с соответствующим свойством, которое вы тревожите.

Стандартное отклонение нормального распределения в виде неотрицательного скаляра, вектора из неотрицательных скаляров или матрицы неотрицательных скаляров. Размерность deviation должно быть совместимо с соответствующим свойством, которое вы тревожите.

Минимальное значение интервала равномерного распределения в виде скаляра, вектора или матрицы. Размерность minVal должно быть совместимо с соответствующим свойством, которое вы тревожите.

Максимальное значение интервала равномерного распределения в виде скаляра, вектора или матрицы. Размерность maxVal должно быть совместимо с соответствующим свойством, которое вы тревожите.

Функция возмущения в виде указателя на функцию. Функция должна иметь этот синтаксис:

offset = myfun(propVal)
где propVal значение property и offset смещение возмущения для свойства.

Выходные аргументы

свернуть все

Возмущения заданы на объекте, возвращенном как таблица свойств возмущения. Таблица имеет три столбца:

  • Property — Имена свойства.

  • Type — Тип возмущений, возвращенных как "None", "Selection""Normal", "Uniform", или "Custom".

  • Value — Значения возмущения, возвращенные как массив ячеек.

Больше о

свернуть все

waypointTrajectory Свойства Perturbable

perturbable свойства waypointTrajectory :

  • Waypoints

  • TimeOfArrival

Другие свойства waypointTrajectory не может быть встревожен.

kinematicTrajectory Свойства Perturbable

perturbable свойства kinematicTrajectory :

  • Position

  • Velocity

Другие свойства kinematicTrajectory не может быть встревожен.

Смотрите также

Введенный в R2020b
Для просмотра документации необходимо авторизоваться на сайте