dir2cas.m

来自「MATLAB信号处理扩展函数,用于信号处理的扩展函数」· M 代码 · 共 31 行

M
31
字号
function [b0,B,A]=dir2cas(b,a)
        b0=b(1);b=b/b0;
        a0=a(1);a=a/a0;
        b0=b0/a0;
        M=length(b);N=length(a);        
        %
        if N>M
           b=[b zeros(1,N-M)];
       elseif M>N
           a=[a zeros(1,M-N)];N=M;
       else NM=0;
       end
       %
       K=floor(N/2);B=zeros(K,3);A=zeros(K,3);
       if K*2==N;
          b=[b0];
          a=[a0];
       end
       %
       broots=cplxpair(roots(b));
       aroots=cplxpair(roots(a));
       for i=1:2:2*K
           Brow=broots(i:1:i+1,:);
           Brow=real(poly(Brow));
           B(fix((i+1)/2),:)=Brow;
           Arow=aroots(i:1:i+1,:);
           Arow=real(poly(Arow));
           A(fix((i+1)/2),:)=Arow;
       end   
   

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?