实验一探讨了在MATLAB环境中如何进行多变量系统状态空间表达式与传递函数之间的转换。实验的核心在于理解和运用MATLAB提供的函数来处理这些数学模型。系统模型通常用状态空间表达式表示,即一组微分方程,其中A、B、C和D矩阵分别代表状态矩阵、输入矩阵、输出矩阵和直接传递函数。状态空间模型的一般形式是x' = Ax + Bu,y = Cx + Du,其中x是状态变量,u是输入,y是输出。
实验原理部分介绍了传递函数和状态空间表达式的关系,即G(s) = num(s)/den(s) = C*(sI - A)^(-1)*B + D,其中num(s)和den(s)分别是传递函数的分子和分母多项式。MATLAB提供了函数`ss`用于创建状态空间模型,`tf`用于创建传递函数,`tf2ss`将传递函数转换为状态空间模型,而`ss2tf`则相反,将状态空间模型转换为传递函数。
实验步骤中,通过两个具体的例子展示了如何使用MATLAB编程实现这些转换。第一个例子中,给定了一个传递函数,通过`tf2ss`得到状态空间模型的A、B、C、D矩阵,并验证转换后传递函数的一致性。第二个例子展示了如何从传递函数获取零极点增益模型,并再次转换回状态空间模型。
实验二则关注于状态空间模型的系统仿真和状态方程的求解。`step`函数用于绘制单位阶跃响应曲线,`impulse`函数绘制单位脉冲响应曲线,`Isim`函数则用于计算任意输入下的系统响应。此外,还涉及了连续系统到离散系统的转换(`c2d`)以及离散系统到连续系统的转换(`d2c`),这对于实际的数字控制系统设计至关重要。
总结起来,这个实验系列旨在让学习者掌握如何在MATLAB环境下处理和分析线性系统的动态特性,包括状态空间模型的构建、传递函数的转换以及系统响应的模拟。这不仅加深了对控制系统理论的理解,也强化了MATLAB在控制工程中的实际应用技能。