メインコンテンツ

perturb

摂動をオブジェクトに適用する

R2021a 以降

説明

offsets = perturb(obj) は、オブジェクトに定義された摂動 obj を適用し、オフセット値を返します。関数 perturbations を使用して、オブジェクトに摂動を定義できます。

すべて折りたたむ

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'         

それぞれ等しい可能性をもつ 3 つの値として 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"    {1×3 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]}

関数 perturb を使用して、sensor オブジェクトに摂動を与えます。

rng(2020)
perturb(sensor);
sensor
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'         

RollAccuracy0.5 度に摂動されます。

入力引数

すべて折りたたむ

摂動用オブジェクト。オブジェクトとして指定します。摂動を与えることができるオブジェクトには次のものがあります。

出力引数

すべて折りたたむ

プロパティのオフセット。構造体の配列として返されます。各構造体には次のフィールドが含まれます。

フィールド名説明
Property摂動されるプロパティの名前
Offset摂動で適用されるオフセット値
PerturbedValue摂動後のプロパティ値

バージョン履歴

R2021a で導入