在11月7日的日志中,我们已经了解了如何用朱利判据(Jury
Test)来研判一个线性离散时间(LDT)系统是否具有BIBO稳定性。
显然,以人工的计算方式来得到朱利判据的各个因子a0,b0,c0...是很费事的,也很容易出错。因此,我们可以考虑使用Matlab来辅助计算这些因子,并进行相应的研判。
参考11月7日的日志,通过观察可知:因子a0,b0,c0...的计算大部分是行列式运算,对应Matlab语言中的det()函数;另外,计算的过程中总是不可回避地要使用代数表达式,因此可以考虑Matlab的符号计算功能。
1.首先开列出因子a0,b0,c0…的计算函数(以三维的JuryTable为例),这是朱利判据的核心计算部分:
function V = JuryTableD3(a0, a1,
a2)
b0 =
1/a0*det([a0,a2;a2,a0]);
b1 =
1/a0*det([a0,a1;a2,a1]);
c0 =
1/b0*det([b0,b1;b1,b0]);
V{1,1} =
a0;
V{2,1} =
b0;
V{3,1} =
c0;
注意:在输出矢量V中,之所以要使用大括号”{}”,是因为得到的结果a0,b0,c0都是符号变量,需要使用单位矩阵V进行赋值传递。
2.接下来便是如何应用了,仍以11月7日的日志那个问题为样例,设定某离散系统的传递函数为