モデルの作成と取り扱い | ![]() ![]() |
プロパティの直接参照
プロパティ値を参照/修正するもう1つの方法は、構造体に似た方法です。LTIオブジェクトは、TF、ZPK、SS、FRDオブジェクトを区別する付加的フラグを除くと基本MATLABの構造体であることを思い出してください(1-3ページを参照)。それらのフィールド名は、単にプロパティ名なので、つぎのような構造体に似た構文でプロパティ値の抽出または修正を行うことができます。
PropertyValue = sys.PropertyName
% プロパティ値を取得 sys.PropertyName
= PropertyValue% プロパティ値を設定
PropertyValue = get(sys,'PropertyName
') set(sys,'PropertyName
',PropertyValue)
sys = ss(1,2,3,4,'InputName','u'); sys.a
そして、状態空間モデルsys
に対して、プロパティ"a
"の値を得ます。
ans = 1
sys.a = -1;
標準のMATLAB構造体と異なり、フィールド名全体やまたは大文字でタイプすることもありません。適切な名前をユニークに識別できる十分な長さの最小のキャラクタ数で構いません。つぎのコマンドのいずれかを入力することで、
sys.InputName
sys.inputn
ans = 'u'
構造体に対する正しい書式で、LTIオブジェクトに拡大します。たとえば、TFモデルを与え、
h = tf(1,[1,0],'variable','p');
つぎのようにタイプすることで、分子にを設定することができます。
h.num{1} = [1 2];
h.num{1}(2) = 2;
![]() | getを使ってプロパティ値へのアクセス | LTIプロパティの付加的な意味 | ![]() |