Main Content

Prelookup

Interpolation Using Prelookup ブロックのためのインデックスと小数部を計算

  • Prelookup block

ライブラリ:
Simulink / Lookup Tables
HDL Coder / Lookup Tables

説明

PreLookup ブロックは、その入力値 u がブレークポイント データセットとどのように関連するかを指定するインデックスと区間の小数部を計算します。Prelookup ブロックは、Interpolation Using Prelookup ブロックと併用するのが最も効果的です。n 次元 table を内挿するために、結果のインデックスと割合の値を Interpolation Using Prelookup ブロックに入力します。これらの 2 つのブロックには分散アルゴリズムがあります。それらを組み合わせることで、n-D Lookup Table ブロックの統合アルゴリズムと同じ処理になります。ただし、Prelookup ブロックと Interpolation Using Prelookup ブロックを使用すると、n-D Lookup Table ブロックよりもシミュレーションとコード生成の柔軟性と効率を向上させることができます。詳細については、処理効率を参照してください。

サポートされているブロック演算

Prelookup ブロックを使用するには、一連のブレークポイント値を指定しなければなりません。[ソース] パラメーターを [ダイアログ] または [入力端子] に設定して、ブレークポイント値をダイアログ ボックスで直接指定するか、値を bp 入力端子に値を送るかを選択します。通常の使用では、このブレークポイント データセットは、Interpolation Using Prelookup ブロックのテーブル データの 1 次元に対応します。Prelookup ブロックは、以下を計算することにより各入力値 u ごとに一組の出力を生成します。

  • u に等しいか、その値よりも小さいブレークポイント セット要素のインデックスで、u を含む区間を作成します。

  • 範囲 0 ≤ f < 1 の区間の小数部。これは、範囲内入力に対するインデックスとそれに隣接するインデックス値との間にあるブレークポイント区間上にある u の正規化された位置を表します。

たとえば、ブレークポイント データセットが [0 5 10 20 50 100] に設定され、入力値 u が 55 である場合、インデックスは 4 であり、小数部の値は 0.1 です。インデックスと区間の小数部のラベルは、Prelookup ブロック アイコンでは k および f として表示されます。インデックス値はゼロベースです。

区間の小数部は、範囲外入力に対して負または 1 より大きい数値になります。詳細については、[外挿法] ブロック パラメーターを参照してください。

端子

入力

すべて展開する

Prelookup ブロックは、Simulink® がサポートする任意の数値データ型の実数値信号を受け入れますが、boolean は例外となります。Prelookup ブロックは、信号およびブレークポイント データの固定小数点データ型をサポートします。

データ型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point | enumerated | bus

Prelookup ブロックは、実数値信号を Simulink がサポートする任意の数値データ型のブレークポイント データとして受け入れますが、boolean は例外となります。

データ型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point | enumerated

出力

すべて展開する

0 ベースのインデックス k は、入力 u を含む区間を指定する実数値の整数です。

依存関係

この端子を有効にするには、[出力の選択][インデックスと小数部] または [インデックスのみ] に設定します。

データ型: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

区間 k 内で入力 u の正規化された位置を表す小数部 f。

依存関係

この端子を有効にするには、[出力の選択][インデックスと小数部] に設定します。

データ型: single | double | fixed point

インデックス k と小数部 f をバス オブジェクトとして出力すると、モデルを簡略化できます。

依存関係

この端子を有効にするには、[出力の選択][バスとしてのインデックスと小数部] に設定します。

データ型: bus

パラメーター

すべて展開する

メイン

ブレークポイント データ

以下はこのパラメーターの各設定です。

  • [明示的な値][ソース] および [値] パラメーターがダイアログ ボックスに表示されます。

  • [等間隔][最初の点][間隔] および [点数] パラメーターがダイアログ ボックスに表示されます。

  • [ブレークポイント オブジェクト][名前] パラメーターがダイアログ ボックスに表示されます。

プログラムでの使用

ブロック パラメーター: BreakpointsSpecification
型: 文字ベクトル
値: 'Explicit values' | 'Even spacing' | 'Breakpoint object'
既定の設定: 'Explicit values'

以下は [ソース] の各設定です。

  • [ダイアログ]。ブレークポイント データを [値] で指定します。

  • [入力端子]。上流信号がブレークポイント データを bp 入力端子に提供することを確認します。各ブレークポイント データセットは、2 つ以上の要素を含み、厳密に単調増加するベクトルでなければなりません。このオプションの場合、ブロックは bp 入力端子からブレークポイントの属性を継承します。

依存関係

このパラメーターを有効にするには、[指定][明示的な値] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointsDataSource
型: 文字ベクトル
値: 'Dialog' | 'Input port'
既定の設定: 'Dialog'

ブレークポイント データを明示的に指定します。各ブレークポイント データセットは、2 つ以上の要素を含み、厳密に単調増加するベクトルでなければなりません。このオプションでは、[データ型] ペインで追加のブレークポイント属性を指定します。

ルックアップ テーブル エディターを開くには、[編集] をクリックします (Edit Lookup Tablesを参照)。

メモ

[指定][明示的な値] に設定し、[ソース][入力端子] に設定する場合、上流信号がブレークポイント データを bp 入力端子に提供することを確認します。各ブレークポイント データセットは、2 つ以上の要素を含み、厳密に単調増加するベクトルでなければなりません。このオプションの場合、ブロックは bp 入力端子からブレークポイントの属性 (データ型も含め) を継承します。

依存関係

このパラメーターを有効にするには、[指定][明示的な値][ソース][ダイアログ] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointsData
型: 文字ベクトル
値: 2 つ以上の要素を含む、厳密に単調増加の値のベクトル
既定の設定: '[10:10:110]'

依存関係

このパラメーターを有効にするには、[指定][等間隔] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointsFirstPoint
型: 文字ベクトル
値: real-valued scalar
既定の設定: '10'

依存関係

このパラメーターを有効にするには、[指定][等間隔] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointsSpacing
型: 文字ベクトル
値: real-valued, positive scalar
既定の設定: '10'

依存関係

このパラメーターを有効にするには、[指定][等間隔] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointsNumPoints
型: 文字ベクトル
値: real-valued, positive scalar
既定の設定: '11'

Simulink.Breakpoint オブジェクトの名前を指定します。ブレークポイント オブジェクトは、Simulink ブレークポイント オブジェクトを参照します。Simulink.Breakpoint オブジェクトがない場合は、アクション ボタン をクリックして [作成] を選択します。新しいブレークポイント オブジェクトの対応するパラメーターにブロック情報が自動的に入力されます。

依存関係

このパラメーターを有効にするには、[指定][ブレークポイント オブジェクト] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointObject
型: 文字ベクトル
値: Simulink.Breakpoint オブジェクト
既定の設定: ''
アルゴリズム

ブロックでインデックスおよび区間の小数部を出力する場合、ブロックで個々の信号またはインデックス信号と小数部信号の両方を含むバス信号のどちらを出力するかを指定できます。

  • [インデックスのみ] はインデックスのみを出力し、小数部を出力しません。このオプションの代表的な適用例としては、次のようなものがあります。

    • 区間に内挿法を使用せずに Direct Lookup Table (n-D) ブロックを入力する

    • Interpolation Using Prelookup ブロックのサブテーブル選択の選択端子を入力する

    • 非線形量子化の実行

  • [インデックスと小数部] はインデックスと小数部を個々の信号として出力します。

  • [バスとしてのインデックスと小数部] はインデックス信号および小数部信号を含むバス信号を出力します。これらの信号にバスを使用することで以下を実現します。

    • これらの 2 つの関連する信号をまとめることで、モデルを簡潔にする。

    • AUTOSAR 4.0 ライブラリのテストポイント DpResult 構造体を作成する。

    • AUTOSAR 4.0 ライブラリの場合、Prelookup および Interpolation Using Prelookup ブロックが別個のモデル内にあるときは、コード生成中に余分なコピーを作成しないようにする。

    メモ

    [バスとしてのインデックスと小数部] を選択することにより、[データ型] ペインに [出力] パラメーターが表示され、[出力] パラメーターは [Inherit: auto] に設定されます。ユーザー定義のバス オブジェクトを指定するように既定値を変更します。バス オブジェクトの定義の詳細については、[出力] パラメーターを参照してください。

プログラムでの使用

ブロック パラメーター: OutputSelection
型: 文字ベクトル
値: 'Index and fraction' | 'Index and fraction as bus' | 'Index only'
既定の設定: 'Index and fraction'

各検索法は、さまざまな状況で速度の利点をもっています。

  • ブレークポイント セットが均等の間隔に並んでいる場合 (例: 10, 20, 30, ...)、[等間隔のポイント] を選択してテーブル インデックスを計算することにより、速度を最大に上げることができます。このアルゴリズムは最初の 2つのブレークポイントのみを利用して残りのポイントのオフセットと間隔を求めます。

  • 不規則な間隔に並んでいるブレークポイント セットについては、以下のガイドラインに従ってください。

    • あるタイム ステップから次のタイム ステップまでに u の入力値が大きく変化しない場合は、[前回のインデックス結果を使ってインデックス検索を始める] と組み合わせて [線形探索] を選択すると、最高のパフォーマンスが得られます。

    • u の入力値がタイム ステップあたり 2 個以上または 3 個以上のテーブル区間をジャンプする場合は、[二分探索] を選択すると、最高のパフォーマンスが得られます。

インデックス検索法に関する準最適な選択は、ルックアップ テーブルに大きく依存しているモデル内でパフォーマンスの低下をもたらします。

メモ

生成コードは、以下の場合、最初のブレークポイント、間隔、およびブレークポイントの数だけを保存します。

  • ブレークポイント データが調整不可能な場合。

  • インデックス検索法は [等間隔のポイント] です。

プログラムでの使用

ブロック パラメーター: IndexSearchMethod
型: 文字ベクトル
値: 'Evenly spaced points' | 'Linear search' | 'Binary search'
既定の設定: 'Binary search'

区間サイズに関してゆっくりと変化する入力値 u に対して、このオプションをオンにするとパフォーマンスを改善できます。そうでない場合、線形探索法と二分探索法は非常に長い時間を要します。特に、ブレークポイントセットが大きな場合には長い時間を要します。

プログラムでの使用

ブロック パラメーター: BeginIndexSearchUsingPreviousIndexResult
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

オプションは次のとおりです。

  • [クリップ]

    ブロック入力ブロック出力

    最初のブレークポイントより小さい場合

    • 最初のブレークポイントのインデックス (0 など)

    • 区間の小数部 0

    最初のブレークポイントより大きい場合

    • 最後から 2 つ目のブレークポイントのインデックス

    • 区間の小数部 1

    たとえば、範囲が [1 2 3] に等しいときにこのオプションを選択したと仮定します。u0.5 の場合、インデックスは 0 であり、区間の小数部は 0 です。u3.5 の場合、インデックスは 1 であり、区間の小数部は 1 です。

  • 線形

    ブロック入力 ブロック出力

    最初のブレークポイントより小さい場合

    • 最初のブレークポイントのインデックス (0 など)

    • u から最初のブレークポイントまでの線形距離を表す区間の小数部

    最初のブレークポイントより大きい場合

    • 最後から 2 つ目のブレークポイントのインデックス

    • 最後のブレークポイントに隣接するブレークポイントから u までの線形距離を表す区間の小数部

    たとえば、範囲が [1 2 3] に等しいときにこのオプションを選択したと仮定します。u0.5 の場合、インデックスは 0 であり、区間の小数部は -0.5 です。u3.5 の場合、インデックスは 1 であり、区間の小数部は 1.5 です。

メモ

Prelookup ブロックは、次の条件がすべて真である場合に限り、線形外挿をサポートします。

  • 入力 u、ブレークポイント データ、小数部の出力が浮動小数点データ型を使用する。

  • インデックスが組み込みの整数データ型を使用する。

Prelookup ブロックと Interpolation Using Prelookup ブロックを使用して n-D Lookup Table ブロックの動作を複製するには、Prelookup ブロックと Interpolation Using Prelookup ブロックの両方の [外挿法] を、n-D Lookup Table ブロックのみを使用している場合と同じ設定にする必要があります。たとえば、[外挿法][線形] に設定した n-D Lookup Table ブロックと同じ動作を得るには、Prelookup ブロックと Interpolation Using Prelookup ブロックの両方で [外挿法][線形] に設定します。

プログラムでの使用

ブロック パラメーター: ExtrapMethod
型: 文字ベクトル
値: 'Clip' | 'Linear'
既定の設定: 'Clip'

最後のブレークポイント以上の入力値 u に、インデックスを付ける方法を指定します。インデックス値はゼロベースです。入力が最後のブレークポイントと同じである場合、ブロック出力は次のように異なります。

チェック ボックスブロック出力

選択 (on)

  • ブレークポイント データセットの最後の要素のインデックス

  • 区間の小数部 0

クリア (off)

  • 最後から 2 つ目のブレークポイントのインデックス

  • 区間の小数部 1

ヒント

Prelookup ブロックの [上限またはそれを超える入力に対して最後のブレークポイントを使用する] を選択すると、これに接続されている Interpolation Using Prelookup ブロックの [インデックスの入力を最後のインデックスに達するようにする] も選択しなければなりません。これにより、ブロックはブレークポイントとテーブル データのセットの最後の要素にアクセスするとき、同じインデックス付けの規則を使用できます。

依存関係

このチェック ボックスは、以下の場合にのみ表示されます。

  • [インデックスのみ出力] がオフの場合

  • [外挿法][クリップ] の場合

ただし、[インデックスのみ出力] が選択され、[外挿法][クリップ] である場合、このブロックは、このチェック ボックスが非表示であってもオンであるかのように動作します。

プログラムでの使用

ブロック パラメーター: UseLastBreakpoint
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

オプションは次のとおりです。

  • なし — 応答しません。

  • 警告 — 警告が表示され、シミュレーションは続行されます。

  • エラー — シミュレーションを終了し、エラーを表示します。

プログラムでの使用

ブロック パラメーター: DiagnosticForOutOfRangeInput
型: 文字ベクトル
値: 'None' | 'Warning' | 'Error'
既定の設定: 'None'
コード生成
チェック ボックス結果使用時

On

生成コードには範囲外のブレークポイント入力をチェックするための条件文が含まれません。

入力が範囲外の場合、生成されたコードに未定義の動作が発生する可能性があります。

コード効率の場合

Off

生成コードには範囲外のブレークポイント入力をチェックするための条件文が含まれます。

セーフティ クリティカルなアプリケーションの場合

入力が範囲外でない場合、[生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオンにしてコードの効率性を高めることができます。既定の設定では、このチェック ボックスはオフです。セーフティ クリティカルなアプリケーションの場合、このチェック ボックスをオンにしないでください。[生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオンにする場合は、最初にモデルの入力が範囲内であることを確認します。次に例を示します。

  1. [生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオフにします。

  2. [範囲外入力の診断] パラメーターを [Error] に設定します。

  3. ノーマル モードでモデルのシミュレーションを実行します。

  4. 範囲外エラーがある場合は、範囲内に修正してシミュレーションをもう一度実行します。

  5. シミュレーションによって範囲外の入力エラーが発生しなくなったら、[生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオンにします。

    メモ

    [生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオンにした際に入力が範囲外の場合、生成されたコードの動作は未定義となります。

アプリケーションによって、次のモデル アドバイザー チェックを実行して、このチェック ボックスが使用されていることを確認できます。

また、このチェック ボックスをオンにしても安全かどうかを判断するには、Simulink Design Verifier™ ライセンスがある場合、ブロック入力範囲違反の検出 (Simulink Design Verifier)チェックを使用することを検討してください。

  • [製品別][Embedded Coder][計算量が多い範囲外のチェック コードを生成する Lookup Table ブロックを識別します]

  • [製品別][Simulink Check][モデリング標準][DO-178C/DO-331 チェック][Lookup Table ブロックの使用をチェックします]

モデル アドバイザーの詳細については、モデル アドバイザー チェックの実行を参照してください。

プログラムでの使用

ブロック パラメーター: RemoveProtectionInput
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1 に設定します。詳細については、サンプル時間の指定を参照してください。

依存関係

このパラメーターは、-1 以外の値に設定した場合にのみ表示されます。詳細は、サンプル時間が推奨されないブロックを参照してください。

プログラムでの使用

ブロック パラメーター: SampleTime
型: string スカラーまたは文字ベクトル
既定の設定: "-1"

データ型

ブレークポイント データ型を指定します。以下を指定可能です。

  • データ型継承ルール (例: 継承: 入力と同じ

  • 組み込みデータ型名 (例: single)

  • データ型クラスの名前 (例: 列挙データ型クラス)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

ヒント

  • 以下の場合に入力 u のデータ型と異なるブレークポイント データ型を指定します。

    • 入力信号 u よりも小さいタイプを使用するブレークポイント データの保存のためのメモリ必要量が少ない場合

    • 入力 u の異なるデータ型をもつ 2 つの Prelookup ブロック間で事前スケーリングされたブレークポイント データを共有する場合

    • 入力 u の異なるデータ型のブロックに対して生成コード内のカスタム ストレージ ブレークポイント データを共有する場合

  • ブレークポイント データ型とその対応する入力データ型に同じ勾配とバイアスを指定します (いずれかが固定小数点データ型の場合)。

  • 列挙型データ:

    • ブレークポイントは順序付けされていない列挙データをサポートします。結果として、線形探索も順序付けされていません。これは柔軟性をもたらしますが、パフォーマンスに影響する可能性があります。検索はブレークポイントの最初の要素から開始されます。

    • [前回のインデックス結果を使ってインデックス検索を始める] チェック ボックスがオンの場合、順序付けされた単調増加のデータを使用しなければなりません。この順序付けはパフォーマンスを向上させます。

    • 列挙型データでは、[外挿法][Clip] でなければなりません。

    • 小数部が 1 または 0 であるため、[出力の選択][インデックスのみ] を選択します。

      Interpolation Using Prelookup ブロックを設定したインデックスのみの出力選択を使用している場合、[サブテーブル選択次元数] パラメーターの使用を検討してください。

これらは、このブロックで列挙型データを使用する場合の制限です。

  • ブロックは列挙型データに対する範囲外の入力をサポートしません。列挙型データを指定する場合、ブレークポイント データセットに列挙全体を含めるようにします。たとえば、関数 enumeration を使用します。

  • ブレークポイント データ ソースを Inport port に設定すると、列挙データ型は既定値として 0 をもたなければなりません。たとえば、この列挙型クラスの場合、GEAR1 の既定値は 0 でなければなりません。

    classdef(Enumeration) Gears < Simulink.IntEnumType 
        enumeration 
            GEAR1(1), 
            GEAR2(2), 
            GEAR3(4), 
            GEAR4(8), 
            SPORTS(16), 
            REVERSE(32), 
            NEUTRAL(0) 
        end 
    end
    

依存関係

このパラメーターを有効にするにはブレークポイント データ [ソース][ダイアログ] に設定します。

メモ

[ソース][入力端子] に設定すると、ブロックはすべてのブレークポイント属性 (データ型、最小、最大) を bp 入力端子から継承します。

プログラムでの使用

ブロック パラメーター: BreakpointDataTypeStr
型: 文字ベクトル
値: 'Inherit: Same as input' | 'Inherit: Inherit from 'Breakpoint data'' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64'| 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'<data type expression>'
既定の設定: 'Inherit: Same as input'

ブレークポイント データセットのすべての要素にインデックス付けできるデータ型を指定します。次のことが可能です。

  • リストから組み込みの整数データ型を選択します。

  • 固定小数点表現を使って整数データ型を指定します。

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: IndexDataTypeStr
型: 文字ベクトル
値:
'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | '<data type expression>'
既定の設定: 'uint32'

区間の小数部のデータ型を指定します。次のことが可能です。

  • リストから組み込みのデータ型を選択します。

  • 内部ルールからデータ型の継承を指定します。

  • スケーリングの表現として、「勾配とバイアス」、または「2 進小数点」のいずれかを使って、固定小数点データ型を指定します。

    • 「勾配とバイアス」 の表現を使用する場合、スケーリングが自明 (勾配は 1 で、バイアスは 0) でなければなりません。

    • 「2 進小数点」の表現を利用する場合、2 のべき乗の指数は 0 以下でなければなりません。

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

依存関係

[メイン] タブの [出力の選択] を、[インデックスと小数部] に設定する場合にのみ、このパラメーターが表示されます。

プログラムでの使用

ブロック パラメーター: FractionDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'double' | 'single' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Inherit via internal rule'

バーチャル バスを出力するには、Inherit: auto 設定を使用します。得られるバーチャル バスには 2 つの要素、インデックス信号、小数部信号が含まれます。

非バーチャル バスを出力および指定するには、[Bus: <object name>] テンプレートを使用します。<object name> をインデックス信号および小数部信号を含むバス オブジェクトの名前に置き換えます。

  • バス オブジェクトには 2 つの要素が含まれていなければなりません。最初の要素はインデックス信号に対応し、2 番目は小数部信号に対応します。

  • インデックスおよび小数部のバス要素信号をバス信号にすることはできません。

  • [出力の選択][インデックスと小数部] に設定している場合、バス要素のデータ型および実数/複素数は、インデックスと小数部の信号に適用されるのと同じ制約を満たさなければなりません。

インデックスおよび小数部のバス要素をもつバス オブジェクトを作成するには、これに類似した MATLAB® コードを使用して、バス オブジェクト名およびバス要素の名前およびデータ型をカスタマイズします。

% Bus object: kfBus 
elems(1) = Simulink.BusElement;
elems(1).Name = 'Index';
elems(1).DataType = 'int8';
 
elems(2) = Simulink.BusElement;
elems(2).Name = 'Fraction';
elems(2).DataType = 'double';
 
kfBus = Simulink.Bus;
kfBus.Elements = elems;
clear elems;

あるいは、型エディターを使用して、Prelookup ブロックで使用するバス オブジェクトを作成または編集できます。

このブロックから Interpolation Using Prelookup ブロックにバス出力信号をフィードするには、フィード先のブロックで [インデックスと小数部をバスにする] チェック ボックスをオンにします。

メモ

固定小数点ツールのデータ型オーバーライド オプションを使用して、固定小数点データ型を浮動小数点データ型に置き換える新しいバス オブジェクトで、バス オブジェクトをオーバーライドします。

Prelookup ブロックで使用されるバス オブジェクトがオーバーライドされると、ブロックはバスの最初の要素として浮動小数点データ型を受け入れないため、エラーが発生する可能性があります。

この問題が発生する場合は、[修正] ボタンを使用して元のバス オブジェクトを再定義し、これがオーバーライドされないようにします。たとえば、バス オブジェクトの最初の要素を int32 に定義するとします。

myBus.Elements(1).DataType
int32

[修正] ボタンをクリックして最初のバス要素を次のように再定義します。

myBus.Elements(1).DataType = 'fixdt(''int32'',''DataTypeOverride'',''Off'')'

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

依存関係

[メイン] タブの [出力の選択] を、[バスとしてのインデックスと小数部] に設定する場合にのみ、このパラメーターが表示されます。

プログラムでの使用

ブロック パラメーター: OutputBusDataTypeStr
型: 文字ベクトル
値: 'Inherit: auto' | 'Bus: <object name>' | '<data type expression>'
既定の設定: 'Inherit: auto'

ブレークポイント データに使用できる最小値を指定します。既定値は [] (指定なし) です。

依存関係

このパラメーターを有効にするには、[メイン] タブで、ブレークポイント データ [ソース][ダイアログ] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointMin
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

ブレークポイント データに使用できる最大値を指定します。既定値は [] (指定なし) です。

依存関係

このパラメーターを有効にするには、[メイン] タブで、ブレークポイント データ [ソース][ダイアログ] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointMax
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

固定小数点ツールが、ブロックに指定した [出力] データ型をオーバーライドしないようにするには、このパラメーターを選択します。詳細については、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。

プログラムでの使用

ブロック パラメーター: LockScale
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

固定小数点演算の丸めモードを指定します。詳細については、丸め (Fixed-Point Designer)を参照してください。

ブロック パラメーターは常に最近傍の表現可能な値に丸められます。ブロックパラメーターの丸めを直接制御するには、MATLAB の丸め関数を使用する式をマスク フィールドに入力します。

プログラムでの使用

ブロック パラメーター: RndMeth
型: 文字ベクトル
値: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
既定の設定: 'Floor'

ブロックの特性

データ型

double | enumerated | fixed point | integer | single

直達

はい

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

詳細

すべて展開する

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006b で導入