主要内容

扰动

扰动对象上定义的

自从R2020b

描述

例子

扰乱=扰动(obj)返回的列表属性扰动,扰乱定义的对象,obj。返回的扰乱列出所有perturbable属性。如果不是摄动任何属性,然后对应类型返回的是“零”与其相应的价值返回的是{零,零}

扰乱=扰动(obj,财产)返回指定的当前微扰应用到财产

扰乱=扰动(obj,财产,'没有')定义了一个财产不能摄动。

例子

扰乱=扰动(obj,财产“选择”,,概率)定义了财产微扰抵消来自一组有相应的概率

扰乱=扰动(obj,财产“正常”,的意思是,偏差)定义了财产微扰抵消来自正态分布与指定的意思是和标准偏差

扰乱=扰动(obj,财产“TruncatedNormal”,的意思是,偏差,lowerLimit,upperLimit)定义了财产微扰抵消来自正态分布与指定的意思是、标准偏差、下限和上限。

例子

扰乱=扰动(obj,财产“统一”,minVal,maxVal)定义了财产微扰抵消来自一个区间上的均匀分布minVal,maxValue]。

扰乱=扰动(obj,财产“自定义”,perturbFcn)使您能够定义一个自定义函数,perturbFcn,吸引了扰动补偿值。

例子

全部折叠

创建一个waypointTrajectory对象。

traj = waypointTrajectory;

显示默认使用扰动特性扰动方法。

扰乱=扰动(traj)
扰乱=2×3表属性类型值售予______ _____________“锚点”“没有”{(南)}{(南)}“TimeOfArrival”“没有”{(南)}{(南)}

创建一个insSensor对象。

传感器= insSensor
传感器与属性= insSensor: MountingLocation: [0 0 0] m RollAccuracy: 0.2度PitchAccuracy: 0.2度YawAccuracy: 1度PositionAccuracy: (1 1 1) m VelocityAccuracy: 0.05 m / s AccelerationAccuracy: 0 m / s²AngularVelocityAccuracy: 0度/ s TimeInput: 0 RandomStream:“全球流”

定义上的扰动RollAccuracy属性三个值等于每个可能性。

值= {0.1 0.2 0.3}
值=1×3单元阵列{[0.1000]}{[0.2000]}{[0.3000]}
概率= (1/3 1/3 1/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”“没有”{(南)}{(南)}

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

rng(2020)扰乱(传感器);传感器
传感器与属性= insSensor: MountingLocation: [0 0 0] m RollAccuracy: 0.5度PitchAccuracy: 0.2度YawAccuracy: 1度PositionAccuracy: (1 1 1) m VelocityAccuracy: 0.05 m / s AccelerationAccuracy: 0 m / s²AngularVelocityAccuracy: 0度/ s TimeInput: 0 RandomStream:“全球流”

RollAccuracy是摄动0.5度。

定义一个航点轨迹。默认情况下,这个轨迹包含两个锚点。

traj = waypointTrajectory
traj = waypointTrajectory属性:SampleRate: 100 SamplesPerFrame: 1路点:[2 x3双]TimeOfArrival: [2 x1双]速度:[2 x3双]:[2 x1双]水平:[2 x1双]ClimbRate: [2 x1双]取向:[2 x1四元数]AutoPitch: 0 AutoBank: 0 ReferenceFrame:“内德”

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

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

扰乱的轨迹。

偏移量=扰乱(traj)
偏移量=2×1结构体数组字段:财产抵消PerturbedValue

路点财产和TimeOfArrival财产已经改变了。

traj.Waypoints
ans =2×31.8674 1.0203 0.7032 2.3154 -0.3207 0.0999
traj.TimeOfArrival
ans =2×10 2

创建一个imuSensor对象并显示其perturbable属性。

imu = imuSensor;扰动(imu)
ans =17×3表属性类型价值______________________________________ ______ _____________”加速度计。MeasurementRange”“没有”{(南)}{(南)}”加速度计。决议”“没有”{(南)}{(南)}”加速度计。ConstantBias”“没有”{(南)}{(南)}”加速度计。NoiseDensity”“没有”{(南)}{(南)}”加速度计。BiasInstability”“没有”{(南)}{(南)}”加速度计。随机散步”“没有”{(南)}{(南)}”加速度计。TemperatureBias”“没有”{(南)}{(南)}”加速度计。TemperatureScaleFactor”“没有”{(南)}{(南)}”陀螺仪。MeasurementRange”“没有”{(南)}{(南)}”陀螺仪。决议”“没有”{(南)}{(南)}”陀螺仪。ConstantBias”“没有”{(南)}{(南)}”陀螺仪。NoiseDensity”“没有”{(南)}{(南)}”陀螺仪。BiasInstability”“没有”{(南)}{(南)}”陀螺仪。随机散步”“没有”{(南)}{(南)}”陀螺仪。TemperatureBias”“没有”{(南)}{(南)}”陀螺仪。TemperatureScaleFactor”“没有”{(南)}{(南)}⋮

指定的扰动NoiseDensity加速度计作为一种均匀分布的性质。

扰动(imu,“Accelerometer.NoiseDensity”,“统一”1 e-5 1 e - 3);

指定的扰动随机散步陀螺仪作为截断正态分布的性质。

专家们=扰动(imu,“Gyroscope.RandomWalk”,“TruncatedNormal”2 1 e-5 0正);

录制好的IMU数据加载。

负载imuSensorData.matnumSamples =大小(方向);

模拟imuSensor三次不同的扰动实现。

rng (2021);%的可重复的结果numRuns = 3;颜色= [“b”“r”‘g’];idx = 1: numRuns%克隆IMU保持原始值imuCopy =克隆(imu);%扰乱噪声值偏移量=扰乱(imuCopy);%获得测量[accelReadings, gyroReadings] = imuCopy(加速度、angularVelocities方向);%绘制结果情节(次gyroReadings(:, 3),颜色(idx));持有;结束包含(“时间(s)”)ylabel (陀螺的z -阅读(rad / s) ')传说(“第一次”,“第二传递”,“第三通过”);持有

图包含一个坐标轴对象。坐标轴对象包含时间(s), ylabel z分量的陀螺读数(rad / s)包含3线类型的对象。这些对象是第一,第二,第三。

输入参数

全部折叠

摄动对象,指定为一个对象。可以扰乱的对象包括:

Perturbable属性,指定为一个属性名。使用扰动获取指定perturbable属性的完整列表obj

imuSensor系统对象™,你可以扰乱属性的加速度计,陀螺仪,磁强计组件。更多细节,请参阅扰乱imuSensor参数的例子。

扰动补偿值,指定为一个n元胞数组的属性值。随机函数的扰动值属性来自基于值的单元阵列中指定相应的概率概率输入。

图纸为每个微扰值概率,作为指定n元负的标量、数组n提供的扰动值的数量吗输入。所有元素之和必须等于1。

例如,您可以指定一个系列微扰value-probability一对{x1,x2、…xn},{p1,p2、…pn},画的概率π(= 1,2,…,n)。

意味着正常的或截断正态分布,指定为一个标量、向量或矩阵。的维数的意思是必须符合相应的财产,你扰乱。

正常或截断正态分布的标准偏差,指定为负的标量,非负标量、向量或矩阵的非负标量。的维数偏差必须符合相应的财产,你扰乱。

截断正态分布的下限,指定为一个标量、向量或矩阵。的维数lowerLimit必须符合相应的财产,你扰乱。

截断正态分布的上限,指定为一个标量、向量或矩阵。的维数upperLimit必须符合相应的财产,你扰乱。

均匀分布区间的最小值,指定为一个标量、向量或矩阵。的维数minVal必须符合相应的财产,你扰乱。

均匀分布区间的最大值,指定为一个标量、向量或矩阵。的维数maxVal必须符合相应的财产,你扰乱。

扰动函数,指定为一个函数处理。函数必须有这样的语法:

抵消= myfun (propVal)
在哪里propVal的价值吗财产抵消的扰动补偿的财产。

输出参数

全部折叠

扰动上定义的对象,作为一个表返回的扰动特性。桌子上有三个列:

  • 财产——属性名。

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

  • 价值——摄动值,作为细胞数组返回。

更多关于

全部折叠

指定扰动分布

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

  • 选择分布的函数定义了扰动补偿的指定值相关的概率。例如,如果您指定的值(1 2)并指定的概率(0.7 - 0.3),那么扰乱函数添加一个抵消的价值1属性的概率0.7并添加一个偏移量的价值2属性的概率0.3。使用选择当你只是想扰乱财产分配的离散值的数量。

  • 正态分布的函数定义了微扰抵消来自正态分布值与指定的平均值和标准偏差(或协方差)。正态分布是最常用的分布,因为它在大多数情况下模拟的自然扰动参数。

  • 截断正态分布的函数定义了扰动补偿作为一个值从一个截断正态分布与指定的意思是,标准偏差(或协方差),下限和上限。不同于正态分布,来自一个截断正态分布值截断的上下极限。使用截断正态分布当你想应用正态分布,但属性的有效值是局限在一个时间间隔。

  • 均匀分布的函数定义了扰动补偿作为一个值从一个均匀分布与指定的最小和最大值。中的所有值区间(指定的最小值和最大值)实现的概率相同。

  • 自定义分布——定制你自己的摄动函数。函数必须有这样的语法:

    抵消= myfun (propVal)
    在哪里propVal的价值吗财产抵消的扰动补偿的财产。

这个图显示了一个正态分布的概率密度函数,一个截断正态分布和均匀分布,分别。

扰动分布

版本历史

介绍了R2020b

另请参阅