exponenta event banner

волнения

Возмущение, определенное для объекта

Описание

perturbs = perturbations(obj) возвращает список возмущений свойств, perturbs, определенный на объекте, obj. Возвращенный perturbs перечисляет все возмущаемые свойства. Если какое-либо свойство не возмущено, то его соответствующее 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, что рисует значение смещения возмущения.

Примеры

свернуть все

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

sensor = insSensor
sensor = 
  insSensor with properties:

           MountingLocation: [0 0 0]                 
               RollAccuracy: 0.2                deg  
              PitchAccuracy: 0.2                deg  
                YawAccuracy: 1                  deg  
           PositionAccuracy: [1 1 1]            m    
           VelocityAccuracy: 0.05               m/s  
       AccelerationAccuracy: 0                  m/s² 
    AngularVelocityAccuracy: 0                  deg/s
                  TimeInput: 0                       
               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=7×3 table
            Property                Type                        Value                 
    _________________________    ___________    ______________________________________

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

Возмущение sensor с использованием функции возмущения.

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

           MountingLocation: [0 0 0]                 
               RollAccuracy: 0.5                deg  
              PitchAccuracy: 0.2                deg  
                YawAccuracy: 1                  deg  
           PositionAccuracy: [1 1 1]            m    
           VelocityAccuracy: 0.05               m/s  
       AccelerationAccuracy: 0                  m/s² 
    AngularVelocityAccuracy: 0                  deg/s
                  TimeInput: 0                       
               RandomStream: 'Global stream'         

RollAccuracy возмущен до 0.5 град.

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

свернуть все

Возмущаемый объект, указанный как объект. К объектам, которые можно возмущать, относятся:

Возмущаемое свойство, указанное как имя свойства. Использовать perturbations для получения полного списка возмущаемых свойств для указанного obj.

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

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

Например, можно задать ряд пар значение-вероятность возмущения как {x1,x2,…,xn} и {p1,p2,…,pn}, где вероятность рисования xi является pi (i = 1, 2,..., n).

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

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

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

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

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

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

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

свернуть все

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

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

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

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

См. также

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