MATLAB クラスの固定小数点コード
MATLAB クラスの自動変換サポート
固定小数点の自動変換プロセスは次を行います。
MATLAB® クラスのシミュレーション範囲に基づく固定小数点データ型の推奨。MATLAB クラスの派生範囲に基づいたデータ型は推奨しません。
シミュレーション後、固定小数点コンバーター アプリは以下を実行します。
クラス コンストラクター、メソッドおよび特殊化を含む関数リスト。
各関数で使用されたオブジェクトをコード ウィンドウに表示。
メソッドのコード カバレッジを提供。
詳細は、MATLAB クラスの情報の表示を参照してください。
クラス メソッド、プロパティおよび特殊化のサポート。クラス
class_name
の各特殊化に対しては、変換により個別のclass_name_fixpt.m
ファイルが生成されます。クラスの各インスタンス化に対しては、適切な特殊化のコンストラクターへの呼び出しが生成された固定小数点コードに含まれます。get.PropertyName
、set.PropertyName
などのget
メソッドおよびset
メソッドをもつクラスのサポート。これらのメソッドは、プロパティが読み取られるか代入されるときに呼び出されます。set
メソッドは特殊化することも可能です。生成された固定小数点コード内で、代入ステートメントが関数呼び出しに変換される場合もあります。
サポートされていない構造体
自動変換プロセスは以下をサポートしません。
クラスの継承。
パッケージ。
nargin
およびvarargin
を使用するコンストラクター。
コーディング スタイルのベスト プラクティス
MATLAB クラスを使用する MATLAB コードを記述する場合は以下を実行します。
クラス コンストラクターのプロパティの初期化。
定数プロパティを静的メソッドで置換。
たとえば、counter
クラスについて考えてみます。
classdef Counter < handle properties Value = 0; end properties(Constant) MAX_VALUE = 128 end methods function out = next(this) out = this.Count; if this.Value == this.MAX_VALUE this.Value = 0; else this.Value = this.Value + 1; end end end end
MAX_VALUE
を初期化する静的クラスおよび Value
プロパティを初期化するコンストラクターをもつようにクラスを書き換えます。classdef Counter < handle properties Value; end methods(Static) function t = MAX_VALUE() t = 128; end end methods function this = Counter() this.Value = 0; end function out = next(this) out = this.Value; if this.Value == this.MAX_VALUE this.Value = 0; else this.Value = this.Value + 1; end end end end