最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

convertUnits

クラス: Simulink.sdi.Signal
パッケージ: Simulink.sdi

構文

signal.convertUnits(units)

説明

signal.convertUnits(units) は、signal の単位を units で指定された単位に変換します。許容される単位のリストについては、「Allowed Units」を参照してください。Simulink.sdi.Signal.convertUnits を使用して、すべての組み込み型のデータおよびすべての固定小数点型のデータをもつ Simulink.sdi.Signal オブジェクトで単位を変換できます。

入力引数

すべて展開する

信号の目的の単位

例: 'm'

例: "ft/s"

データ型: char | string

すべて展開する

この例では、モデル sldemo_autotrans を使用し、convertUnits メソッドによる Simulink.sdi.Signal オブジェクトの単位の変換方法を示します。

シミュレーション データの生成

モデルのシミュレーションを実行し、データの実行を作成します。次に、シミュレーション データ インスペクターのプログラムによるインターフェイスを使用して実行データを取得します。

% Simulate the model
sim('sldemo_autotrans')

% Get a Simulink.sdi.Run object for the most recently created run
ids = Simulink.sdi.getAllRunIDs;
id = ids(end);
transRun = Simulink.sdi.getRun(id);

信号プロパティの検査

EngineRPM 信号の Simulink.sdi.Signal オブジェクトを取得して、そのプロパティを検査し、単位を判別します。

% Get Simulink.sdi.Signal object
signal = transRun.getSignalByIndex(1)
signal = 
  Signal with properties:

               ID: 44179
            RunID: 44173
             Name: 'EngineRPM'
      Description: ""
            Units: 'rpm'
         DataType: 'double'
       Complexity: "real"
    ComplexFormat: "real-imaginary"
       SampleTime: '0.04'
            Model: 'sldemo_autotrans'
        BlockPath: 'sldemo_autotrans/Engine'
    FullBlockPath: 'sldemo_autotrans/Engine'
        PortIndex: 1
       Dimensions: 1
          Channel: [1x0 int32]
          Checked: 0
        LineColor: [0.8500 0.3250 0.0980]
       LineDashed: '-'
     InterpMethod: 'linear'
           AbsTol: 0
           RelTol: 0
          TimeTol: 0
       SyncMethod: 'union'
           Values: [1x1 timeseries]
       RootSource: ''
       TimeSource: ''
       DataSource: ''

信号単位の変換

convertUnits メソッドを使用して EngineRPM 信号単位を rad/s に変換します。次に、新しい単位を反映するように信号名を変更します。

% Convert units
signal.convertUnits('rad/s')

signal.Name = 'Engine,rad/s';

R2018a で導入