Projet

Général

Profil

Actions

Scilab Bilineaire

Bilinéaire inverse

function Sysc=dls2cls(Sysd,T)
    s=poly(0,'s');
    z=poly(0,'z');
    numdeg = degree(Sysd.num);
    dendeg = degree(Sysd.den);
    if  numdeg>dendeg
        error('The discrete-time system is improper');
    end
    f = -(s*T+2);
    g = (s*T-2);
    bn = coeff(Sysd.num);
    an = coeff(Sysd.den);
    npad = dendeg - numdeg;
    if npad>0
        for i=0:npad
            bn = [bn 0];
        end
    end
    nums = 0;
    dens = 0;
    for i=0:dendeg
        nums = nums + bn(i+1)*(f^i)*(g^(dendeg-i));
        dens = dens + an(i+1)*(f^i)*(g^(dendeg-i));
    end
    Sysc = syslin('c',nums,dens);
endfunction

Mis à jour par Jacques LAFFONT il y a plus de 3 ans · 1 révisions