⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dir2par.m

📁 很多matlab的源代码
💻 M
字号:
function [b0,B,A] = dir2par(b,a)
% DIRECT-form to PARALLEL-form conversion(cplxpair version)
% --------------------------------------------------------------
% [b0,B,A] = dir2par(b,a)
% b0 = gain coefficient
% B = K by 2 matrix of real coefficients containing bk's
% A = K by 3 matrix of real coefficients containing bk's
% b = numerator polynomial coefficients of DIRECT form
% a = denominator polynomial coefficients of DIRECT form
%
M = length(b);
N = length(a);
[r1,p1,C] = residuez(b,a);
p = cplxpair(p1,10000000*eps);
I = cplxcomp(p1,p);
r = r1(I);

K = floor(N/2);
B = zeros(K,2);
A = zeros(K,3);

if K*2 == N
    for i = 1:2:N-2;
        Brow = r(i:1:i+1,:);
        Arow = p(i:1:i+1,:);
        [Brow ,Arow] = residuez(Brow,Arow,[]);
        B(fix((i+1)/2),:) = real(Brow);
        A(fix((i+1)/2),:) = real(Arow);
    end
    [Brow,Arow] = residuez(r(N-1),p(N-1),[]);
    B(K,:) = [real(Brow) 0];
    A(K,:) = [real(Arow) 0];
else 
    for  i = i:2:N-1
Brow = r(i:1:i+1);
Arow = p(i:1:i+1);
[Brow ,Arow] = residuez(Brow,Arow,[]);
B(fix((i+1)/2),:) = real(Brow);
A(fix((i+1)/2),:) = real(Arow);
end
end

⌨️ 快捷键说明

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