文件夹内一共有9个子程序,各个程序的功能如下:
changchuzsp.m——实现长除功能,用来计算e(k)、u(k)、y(k)的观察点;
divABzsp.m——由Changchuzsp.m调用,实现两个矩阵A、B相除的功能;
juzhencheng.m——实现一个元胞数组中多个矩阵相乘的功能,和课上讲的zp2poly程序的功能相同。但是,zp2poly函数不能计算含有符号变量的矩阵的乘法,所以在和同学讨论后又重新写了既有zp2poly功能,又能实现含有符号变量的矩阵的乘法的juzhencheng程序。
symA.m——定义指定个数的符号变量a1~an;
symF.m——定义指定个数的符号变量f1~fn;
zsp.m——最少拍系统设计主程序,它可以调用不同性能指标时的最少拍系统设计子程序;
zsp1.m——当性能指标为“准确性+快速性”时,最少拍系统设计子程序;
zsp2.m——当性能指标为“准确性+快速性+稳定性”时,最少拍系统设计子程序;
zsp3.m——当性能指标为“准确性+快速性+稳定性+物理可实现性”时,最少拍系统设计子程序。
调用程序的时候可以直接调用zsp.m程序,然后根据提示依次选择性能指标、信号类型,再输入控制对象的z变换函数G(z),输入观察点数和采样周期,就可以观察到输出的误差传递函数Fe(z)、系统传递函数F(z)、E(z)、U(z)和输出信号的z变换Y(z),还可以观察到e(k)、u(k)、y(k)对应输入观察点数的输出量和输出折线图。
例:Gz(z)=3.68*z^-2*(1+0.718*z^-1)/(1-z^-1)/(1-0.368*z^-1),性能指标为“准确性+快速性+稳定性+物理可实现性”,输入信号为等速输入,观察点数为50个,采样周期为1s。
解:
调用zsp,并输入相关信息:

“回车”后,可以可得到输出如下:



e(k)、u(k)、y(k)n个观察点的值和输出折线图如下:



