sscanform.m

来自「包含大量遗传算法程序」· M 代码 · 共 18 行

M
18
字号
function Gs=sscanform(G,type)
switch type
    case 'ctrl'
        G=tf(G); Gs=[]; 
        G.num{1}=G.num{1}/G.den{1}(1); % 传递函数归一化
        G.den{1}=G.den{1}/G.den{1}(1); d=G.num{1}(1); 
        G1=G; G1.ioDelay=0; G1=G1-d;
        num=G1.num{1}; den=G1.den{1}; n=length(G.den{1})-1;
        A=[zeros(n-1,1) eye(n-1); -den(end:-1:2)];
        B=[zeros(n-1,1);1]; C=num(end:-1:2); D=d;
        Gs=ss(A,B,C,D,'Ts',G.Ts,'ioDelay',G.ioDelay);
    case 'obsv'
        Gc=sscanform(G,'ctrl');
        Gs=ss(Gc.a',Gc.c',Gc.b',Gc.d','Ts',G.Ts,'ioDelay',G.ioDelay);
    otherwise
        error('Only options ''ctrl'' and ''obsv'' are applicable.')
end

⌨️ 快捷键说明

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