?? dir2par.m
字號:
function [C,B,A]=dir2par(b,a);
%變直接形式為并聯(lián)形式
% [C,B,A]=dir2par(b,a)
%C=當(dāng)分子多項(xiàng)式階數(shù)大于分母多項(xiàng)式階數(shù)時產(chǎn)生的多項(xiàng)式
%B=K列3行bk系數(shù)矩陣
%A=K列3行ak系數(shù)矩陣
%a=直接型分子多項(xiàng)式系數(shù)
%b=直接型分母多項(xiàng)式系數(shù)
M=length(b);N=length(a);
%將多項(xiàng)式分式分解為多項(xiàng)式與一階多項(xiàng)式分式的和的形式
[r1,p1,C]=residuez(b,a);
%p1即為系統(tǒng)的極點(diǎn)
p=cplxpair(p1,10000000*eps);
%重新排序后,就不一定能夠?qū)⒁浑A多項(xiàng)式分式的分母分子正好對應(yīng),必須對分子系數(shù)排序
%函數(shù)cplxcomp見后
I=cplxcomp(p1,p);
r=r1(I);
%初始化系數(shù)矩陣
K=floor(N/2);B=zeros(K,2);A=zeros(K,3);
if K*2==N
%N是偶數(shù),則A(z)的階數(shù)是奇數(shù),一個因子是一階的
%將因子合并成二階多項(xiàng)式分式
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=1: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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -