主要内容

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

MATLABコード生成における系统对象

MATLAB®编码器™を使用して、系统对象を含むシステムからMATLABでC / c++コードを生成できます。デスクトップおよび組み込みシステムに配布するための効率的でコンパクトなコードを生成して,固定小数点アルゴリズムを高速化することができます。

コードの生成に関する系统对象の使用条件と制限

次の使用条件と制限は,MATLABで生成されたコードで系统对象を使用するために適用されます。

作者:王莹,王

  • オブジェクトがが永続数に格式されているいるいるは,isempty ()の呼び出しを含む如果ステートメントにオブジェクトハンドルを組み込むことで,系统对象を1回初期化します。

  • 引数をコンパイル時の定数として系统对象™コンストラクターに設定します。

  • releaseImplが使用するすべてのを系统对象setupImplの最後に到達する前に初期化します。

  • コード生成では系统对象ののプロパティを他のののすることははませませするするすることはできませししししなけれなけれなけれなけれなけれなけれなけれませませしししするオブジェクトなけれなけれなけれなけれなけれなけれなけれ

入力と出力

  • 系统对象のの大触力数码1024です。入力ごとに最大8次元がサポートされていい。

  • 入力のデータ型は変更できません。

  • 入力の実数/複素数は変更できません。

  • 入力のサイズを変更する必要がある場合は,可変サイズに対するサポートが有効になっていることを確認します。コード生成で可変サイズデータをサポートするには,可変サイズサポートが有効になっている必要もあります。MATLABでは,可変サイズデータに対するサポートが既定で有効になっています。

  • データの値がDynamicMemoryAllocationThresholdの値を上回る場合,ソフトウェアで事前に定義されている系统对象は可変サイズをサポートしません。

  • 系统对象がMATLAB函数(金宝app模型)ブロックの出力になるようには設定しないでください。

  • MATLAB函数(金宝app模型)ブロックの系统对象に対しては,シミュレーション状態(SimState)の保存と復元のオプションを使用しないでください。

  • codegenによってコンパイルされる関数には,系统对象をサンプル入力引数として渡さないでください。

  • 系统对象は,关节coder.extrinsicを使用して外部関数(インタープリターモードで呼び出される関数)として宣言された関数には渡さないでください。外部関数および自動的に外部になる範囲系统对象から返される系统对象は別の外部関数に対する入力として使用できます。ただし,これらの関数はコードを生成しません。

プロパティ

  • MATLAB系统ブロックでは、系统对象の離散状態プロパティに対して可変サイズを使用できません。プライベートプロパティは可変サイズにできます。

  • プロパティの既定値としてオブジェクトを使用することはできません。

  • 調整不可能なプロパティに値を割り当てることができるのは1回のみです(コンストラクターでの割り当てを含む)。

  • 調整不可能なプロパティ値は定数でなければなりません。

  • 固定小数点入力に,調整可能なプロパティに依存データ型プロパティがある場合,構築時またはオブジェクトがロックされた後にのみ調整可能なプロパティを設定できます。

  • getNumInputsImplメソッドおよびgetnumoutputsimpl.メソッドでは,オブジェクトプロパティからの戻り引数を設定する場合,そのオブジェクトプロパティにNontunable属性がなければなりません。

グローバル変数

メソッド

codegenでの系统对象

系统对象は,他の要素を含めるのと同様に,MATLABコードに含めることができます。その後,MATLAB编码器ライセンスがある場合に使用できるcodegenコマンドを使用して,MATLABコードから墨西哥人ファイルをコンパイルできます。いくつかの最適化を伴うこのコンパイルプロセスは,シミュレーションの高速化に役立ちます。詳細は,MATLAB编码器入門およびMATLABのクラスを参照してください。

メモ

すべてではありませんが,ほとんどの系统对象ではコードの生成がサポートされています。詳細は,特定のオブジェクトのリファレンスページを参照してください。

MATLAB函数ブロックでの系统对象

MATLAB函数(金宝app模型)ブロックを使用すると,任意の系统对象と任意のMATLAB言語の関数を仿真软件モデルに含めることが金宝appできます。その後,このモデルは組み込み可能なコードを生成できます。系统对象はコード生成のために,ほとんどの関連ブロックよりも高いレベルのアルゴリズムを提供します。詳細については,MATLAB主页たたたしの装(金宝app模型)を参照してください。

MATLAB系统ブロックでの系统对象

MATLAB系统(金宝app模型)ブロックを使用すると,金宝app仿真软件モデルに,クラス定義ファイルで作成した個々の系统对象を含めることができます。その後,このモデルは組み込み可能なコードを生成できます。詳細については,MATLAB系统ブロック(金宝app模型)を参照してください。

系统对象とMATLAB编译器ソフトウェア

MATLAB编译器™ソフトウェアでは,MATLAB関数内での系统对象の使用をサポートしています。コンパイラ製品では,MATLABスクリプトでの系统对象の使用はサポートされていません。

関連するトピック