Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Simulink.sdi.getNumCursors

シミュレーション データ インスペクターでアクティブなカーソルの数をチェック

    説明

    num = Simulink.sdi.getNumCursors は、シミュレーション データ インスペクターの [検査] ペインでアクティブなカーソルの数を返します。

    num = Simulink.sdi.getNumCursors(view) は、シミュレーション データ インスペクターの [検査] ペインまたは [比較] ペイン (view の指定に従う) でアクティブなカーソルの数を返します。

    すべて折りたたむ

    シミュレーション データ インスペクターのプログラムによるインターフェイスを使用して、時間プロットまたはスパークライン上のカーソルの位置を指定したり、現在のカーソル位置に対応する時間にアクセスしたりできます。

    セッション ファイル vdp_mu.mldatx を開き、シミュレーション データ インスペクターにデータを追加してプロットします。このセッション ファイルには、ファン デル ポールの方程式のモデルに対する 20 秒間のシミュレーションのデータが格納されており、信号 x1x221 列のサブプロット レイアウト上の別々のサブプロットにプロットされています。

    open vdp_mu.mldatx;

    関数 Simulink.sdi.setNumCursors を使用して、プロットにカーソルを 1 つ追加します。

    Simulink.sdi.setNumCursors(1);

    シミュレーション開始後 5 秒時点の信号値を知る必要があるとします。関数 Simulink.sdi.setCursorPositions を使用してカーソルを t=5s に移動し、各サブプロット上のカーソルから信号値を読み取ります。カーソル ラベルの値の横のアスタリスクは、シミュレーションに 5s ちょうどの時点のシミュレーションを求める計算が含まれていなかったため、値が内挿されたことを示しています。

    Simulink.sdi.setCursorPositions('left',5);

    x2 信号の 2 つのピーク間の時間を計算する必要があるとします。関数 Simulink.sdi.setNumCursors を使用するか、シミュレーション データ インスペクターの [データ カーソルを表示/非表示にします] ボタンを使用して、2 つ目のカーソルを追加します。

    numCursors = Simulink.sdi.getNumCursors;
    if(numCursors < 2)
        Simulink.sdi.setNumCursors(2);
    end

    カーソルをドラッグして、左側のカーソルが x2 信号の 1 つ目のピークに、右側のカーソルが 2 つ目のピークに配置されるようにします。あるいは、以下のコードを実行してカーソルを配置します。

    Simulink.sdi.setCursorPositions('left',5.921998549931304,'right',12.378442136906246);

    シミュレーション データ インスペクターに、2 つのカーソル間の差が秒単位で表示されます。ただし、カーソル位置も差分値も丸められています。関数 Simulink.sdi.getCursorPositions を使用して、各カーソル位置に対応する正確な時間値をプログラムにより取得します。次に、各時間の間の差分を計算します。

    [t1,t2] = Simulink.sdi.getCursorPositions;
    T = t2 - t1
    T = NaN
    

    入力引数

    すべて折りたたむ

    アクティブなカーソルの数を返す対象とするプロット領域。'inspect' または 'compare' として指定します。

    データ型: char | string

    出力引数

    すべて折りたたむ

    アクティブなカーソルの数。01、または 2 として返されます。

    R2021a で導入