Matlab制作朱利表

朱利判据

Matlab制作朱利表_第1张图片
Matlab制作朱利表_第2张图片
其中
{ b n − k = a n − k − a n a 0 ∗ a k c n − k = b n − k − b n b 0 ∗ b k . . . q n − k = p n − k − p n p 0 ∗ p k \begin{cases} b_{n-k}=a_{n-k}-\frac{a_n}{a_0}*a_k\\ c_{n-k}=b_{n-k}-\frac{b_n}{b_0}*b_k\\ ...\\ q_{n-k}=p_{n-k}-\frac{p_n}{p_0}*p_k \end{cases} bnk=anka0anakcnk=bnkb0bnbk...qnk=pnkp0pnpk
系统稳定的充要条件就是 a 0 , b 0 , . . . , q 0 a_0,b_0,...,q_0 a0,b0,...,q0均为正。
可以用Matlab直接在工作区生成朱利表,需要先生成一个带交互式界面的M文件,它的代码主要依赖于Matlab本身的程序语言控制,M文件如下:

disp('利用朱利判据判断离散系统的稳定性')
disp('请输入特征方程的系数矩阵A')
A=input('A=');
n=size(A,2);%截取A的维数
for i=n:-1:1
    disp(A);%显示奇数行
    if i==1 
        if A(:)>0
            disp('系统稳定');
        else
            disp('系统不稳定');
        end
        break;
    end
    B=flip(A);
    disp(B);%显示偶数行
    if A(1,1)<=0
        disp('首元素非正!系统不稳定');
        break;
    end
    k=B(1,1)/A(1,1);
    A(1,:)=A(1,:)-k*B(1,:);
    A(:,i)=[];%A矩阵减维数
end

保存M文件命名为M1.m
执行的效果如下:
Matlab制作朱利表_第3张图片

你可能感兴趣的:(Matlab)