このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
調整されたプロパティの処理
この例では、シミュレーション中に調整可能なプロパティの値が変更された場合に実行されるアクションの指定方法を示します。
processTunedPropertiesImpl
メソッドは重複を回避するようにアクションを管理する場合に役に立ちます。相互依存する複数のプロパティではその多くの場合、1 つの変更がアクションを引き起こします。processTunedPropertiesImpl
メソッドは、アクションの実行タイミングを制御して不要な繰り返しを回避します。
ルックアップ テーブルの生成タイミングの制御
このprocessTunedPropertiesImpl
の例では、NumNotes
プロパティまたはMiddleC
プロパティの変更時にpLookupTable
が再生成されします。
methods (Access = protected)functionprocessTunedPropertiesImpl(obj) propChange = isChangedProperty(obj,'NumNotes')||...isChangedProperty(obj,'MiddleC')ifpropChange obj。pLookupTable = obj。MiddleC *...(1+log(1:obj.NumNotes)/log(12));endendend
調整されたプロパティ処理をもつ完全なクラス定義ファイル
classdefTuningFork < matlab.System% TuningFork Illustrate the processing of tuned parameters%propertiesMiddleC = 440 NumNotes = 12endproperties(Access = private) pLookupTableendmethods(Access = protected)functionresetImpl(obj) obj.MiddleC = 440; obj.pLookupTable = obj.MiddleC *...(1+log(1:obj.NumNotes)/log(12));endfunctionhz = stepImpl(obj,noteShift)% A noteShift value of 1 corresponds to obj.MiddleChz = obj.pLookupTable(noteShift);endfunctionprocessTunedPropertiesImpl(obj) propChange = isChangedProperty(obj,'NumNotes')||...isChangedProperty(obj,'MiddleC')ifpropChange obj。pLookupTable = obj。MiddleC *...(1+log(1:obj.NumNotes)/log(12));endendend