離散時間伝達関数の作成
9 views (last 30 days)
Show older comments
1/(1-z^-1)のような離散時間伝達関数を作成する際に,下記のようなコマンドで作成すると,分子の1番目に0が入ってしまいます。
D = tf(1,[1 -1],Ts)
D.num=[0 1]
D.den=[1 -1]
Ts = 0.01(サンプリング時間)
これを回避することはできないのでしょうか?
0 Comments
Answers (1)
Atsushi Ueno
on 21 Mar 2024
D = tf(1,[1,2,3,4,5],-1);
D.num
D.num{1}(end)
4 Comments
Atsushi Ueno
on 22 Mar 2024
上記は Simulink の Transfer Fcn ブロックの説明からの抜粋です。離散ではありませんが、s(z)のn 乗項の係数が順に並ぶ意味では同じで、少ない方をゼロで埋めて分子と分母の数を合わせる仕様になっています。
>伝達関数を作成した後に,分子や分母の要素(cell配列)を書き換える方法はないのでしょうか?
⇒書き換える事は出来ますが、分子と分母の数が一致する様にゼロ埋めされる仕様は変わりません
D = tf([7,0,9],[1,2,3,4,5,6],-1);
D.den % 分母
D.num % 分子
D.num{1}(end-1) = 8; % 分子の要素を書き換える
D.num % 値は変わるけど位置関係は変わらない
D.num = {[10 11 12]}; % 分子全体を書き換える
D.num % 値は変わるけど分母との位置関係は変わらない
D.den = {[1 2]}; % 分母全体を書き換える
D.den % 今度は分母の頭にゼロがついた
D.num % 分子の数の方が多いので頭のゼロがなくなった
See Also
Categories
Find more on ビッグ データの処理 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!