主要内容

扰动

物体上的摄动

描述

例子

扰乱=扰动(obj返回属性扰动的列表,扰乱,定义在对象上,obj.返回的扰乱列出所有的微扰属性。如果任何属性不受干扰,则其对应类型返回为“零”及其对应的价值返回为{零,零}

扰乱=扰动(obj财产返回应用于指定对象的当前扰动财产

扰乱=扰动(obj财产, '没有')定义了一个财产这一点不容动摇。

例子

扰乱=扰动(obj财产“选择”,概率定义了财产摄动偏移量从一组有相应的概率

扰乱=扰动(obj财产“正常”,的意思是偏差定义了财产从给定的正态分布中绘制的扰动偏移量的意思是和标准偏差

扰乱=扰动(obj财产“TruncatedNormal”,的意思是偏差lowerLimitupperLimit定义了财产从给定的正态分布中绘制的扰动偏移量的意思是、标准偏差、下限、上限。

例子

扰乱=扰动(obj财产“统一”,minValmaxVal定义了财产从区间上的均匀分布得到的扰动偏移量[minValmaxValue].

扰乱=扰动(obj财产“自定义”,perturbFcn允许您定义自定义函数,perturbFcn,绘制摄动偏移值。

例子

全部折叠

创建一个waypointTrajectory对象。

traj = waypointTrajectory;

控件显示默认的摄动属性扰动方法。

摄动=摄动(traj)
扰乱=2×3表属性类型值  _______________ ______ __________________ " 路点”“没有”{(南)}{(南)}”TimeOfArrival”“没有”{(南)}{(南)}

创建一个insSensor对象。

sensor = insSensor
sensor = insSensor with properties: MountingLocation: [0 0 0] m 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属性为三个值,每个值的可能性相等。

值= {0.1 0.2 0.3}
值=1×3单元格数组{[0.1000]} {[0.2000]} {[0.3000]}
概率= [1/3 /3 /3]
概率=1×30.3333 0.3333 0.3333
扰动(传感器,“RollAccuracy”“选择”、价值观、概率)
ans =7×3表属性类型值  _________________________ ___________ ______________________________________ " RollAccuracy”“选择”{1 x3细胞}{[0.3333 0.3333 0.3333]}”PitchAccuracy”“没有”{(南)}{(南)}”YawAccuracy”“没有”{(南)}{(南)}”PositionAccuracy”“没有”{(南)}{(南)}”VelocityAccuracy”“没有”{(南)}{(南)}”AccelerationAccuracy”“没有”{(南)}{(南)}”AngularVelocityAccuracy”“没有”{(南)}{(南)}

扰乱的传感器对象使用perturb函数。

rng(2020)扰乱(传感器);传感器
sensor = insSensor with properties: MountingLocation: [0 0 0] m 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度。

定义一个路径点轨迹。默认情况下,该轨迹包含两个路径点。

traj = waypoint弹道
traj = waypointTrajectory with properties: SampleRate: 100 SamplesPerFrame: 1 Waypoints: [2x3 double] TimeOfArrival: [2x1 double] velocity: [2x3 double] Course: [2x1 double] GroundSpeed: [2x1 double] ClimbRate: [2x1 double] Orientation: [2x1 quaternion] AutoPitch: 0 AutoBank: 0 ReferenceFrame: 'NED'

定义微扰路点财产和TimeOfArrival财产。

rng (2020);摄动s1 =摄动(traj,“锚点”“正常”, 1, 1)
perturbs1 =2×3表属性类型值  _______________ ________ __________________ " 路点”“正常”{[1]}{[1]}”TimeOfArrival”“没有”{(南)}{(南)}
摄动s2 =摄动(traj,“TimeOfArrival”“选择”, {[0, 1], [0; 2]})
perturbs2 =2×3表属性类型值  _______________ ___________ _______________________________ " 路点”“正常”{[1]}{[1]}”TimeOfArrival”“选择”{1 x2细胞}{[0.5000 - 0.5000]}

扰乱轨道。

偏移量= perturb(traj)
偏移量=2×1带字段的struct数组:属性偏移量摄动值

路点财产和TimeOfArrival属性已更改。

traj。路点
ans =2×31.8674 1.0203 0.7032 2.3154 -0.3207 0.0999
traj。TimeOfArrival
ans =2×10 2

输入参数

全部折叠

要扰动的对象,指定为对象。你可以干扰的对象包括:

可扰属性,指定为属性名。使用扰动对象的摄动属性的完整列表obj

微扰偏移值,指定为n-element单元格属性值数组。函数根据单元格数组中指定的值的对应概率从单元格数组中随机抽取属性的扰动值概率输入。

绘制每个摄动值的概率,指定为n-element非负标量数组,其中n摄动值的数量是否在输入。所有元素的和必须等于1。

例如,你可以指定一系列的扰动值-概率对为{x1x2、……xn}和{p1p2、……pn},其中抽到的概率西π= 1,2,…,n)。

正态分布或截断正态分布的平均值,用标量、向量或矩阵表示。的维度的意思是必须与您扰动的相应属性兼容。

正态分布或截断正态分布的标准差,指定为非负标量、非负标量的向量或非负标量的矩阵。的维度偏差必须与您扰动的相应属性兼容。

截断正态分布的下限,用标量、向量或矩阵表示。的维度lowerLimit必须与您扰动的相应属性兼容。

截断正态分布的上限,用标量、向量或矩阵表示。的维度upperLimit必须与您扰动的相应属性兼容。

均匀分布区间的最小值,指定为标量、向量或矩阵。的维度minVal必须与您扰动的相应属性兼容。

均匀分布间隔的最大值,指定为标量、向量或矩阵。的维度maxVal必须与您扰动的相应属性兼容。

摄动函数,指定为函数句柄。函数必须具有以下语法:

offset = myfun(propVal)
在哪里propVal是价值的财产而且抵消是属性的扰动偏移量。

输出参数

全部折叠

定义在对象上的扰动,作为扰动属性表返回。表格有三列:

  • 财产-属性名称。

  • 类型-扰动的类型,返回为“没有”“选择”“正常”“TruncatedNormal”“统一”,或“自定义”

  • 价值-扰动值,作为单元格数组返回。

更多关于

全部折叠

指定摄动分布

您可以指定应用于特定属性的扰动的分布。

  • 选择分布——函数将扰动偏移定义为具有相关概率的指定值之一。例如,如果指定值为(1 2)并指定概率为(0.7 - 0.3),然后扰乱函数添加的偏移值1属性的概率是0.7并添加偏移值2属性的概率是0.3.当您只想用许多离散值扰乱属性时,使用选择分布。

  • 正态分布-函数将摄动偏移定义为一个具有指定均值和标准偏差(或协方差)的正态分布的值。正态分布是最常用的分布,因为它在大多数情况下模拟了参数的自然扰动。

  • 截断正态分布-函数将摄动偏移定义为从截断正态分布中提取的值,具有指定的平均值、标准偏差(或协方差)、下限和上限。与正态分布不同的是,从截断正态分布中得到的值被上下限截断。当您想应用一个正态分布,但属性的有效值被限制在一个区间时,请使用截断正态分布。

  • 均匀分布——函数将摄动偏移定义为从具有指定的最小值和最大值的均匀分布中提取的值。区间内的所有值(由最小值和最大值指定)具有相同的实现概率。

  • 自定义分布-自定义自己的扰动函数。函数必须具有以下语法:

    offset = myfun(propVal)
    在哪里propVal是价值的财产而且抵消是属性的扰动偏移量。

该图分别显示了正态分布、截断正态分布和均匀分布的概率密度函数。

扰动分布

版本历史

在R2020b中引入

另请参阅