我在要用到一个控制器,递函数是G(s)=(1+As)(1+Bs)/(1+Cs)(1+Ds),但是不知道怎么用c语言来实现。是直接将G(s)通过离散化再写出递推关系吗?为什么用拉氏变换到z变换转换后得到的结果和用matlab里面c2d()命令得到的结果不一样,比如像最简单的一个惯性环节,G(s)=1/(s+3),采样时间0.01s,如果直接用z变换公式得到的是G(z)=z/(z-0.9704),而用matlab里面c2d()命令,选择零阶保持,得到的结果却是G(z)=0.009851/(z -0.9704),这是为什么呢,到底应该怎样算?