dir2cas.m

来自「经典《信号与系统》教程的matlab例程,对深入理解信号与系统相关概念有很大帮助」· M 代码 · 共 38 行

M
38
字号
function [bo,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 N==M;
    a=[a,zeros(1,M-N)];
    b=[b,zeros(1,N-M)];
else
    NM=0;
end
k=floor(N/2);
B=zeros(k,3);
A=zeros(k,3);
if k*2==N
    b=[b,0];
    a=[a,0];
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));
end

⌨️ 快捷键说明

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