ess
たとえば、組み込みクラスのサブクラスを作成したいと考えていますss
。ss
既存のオブジェクトをオブジェクトに変換ess
し、同時に不足しているプロパティを追加できるようにしたいと思います。たとえばw
、次のような方法で
sys=ss(a,b,c,d);
esys=ess(sys,w);
しかし、コンストラクターを正しくセットアップする方法がわかりません。これを達成するための最良の方法は何ですか?私のコードは現在このようになっています
classdef ess < ss
properties
w
end
methods
function obj = ess(varargin)
if nargin>0 && isa(varargin{1},'StateSpaceModel')
super_args{1} = sys;
else
super_args = varargin;
end
obj = obj@ss(super_args{:});
end
end
end
しかし、次のエラーが発生するため、これは機能しません。
>> ess(ss(a,b,c,d))
??? When constructing an instance of class 'ess', the constructor must preserve
the class of the returned object.
もちろん、すべてのオブジェクト プロパティを手動でコピーすることもできますが、もっと良い方法があるはずです。