MATLAB系统的传递函数和状态空间表达式的转换实验

版权申诉
0 下载量 92 浏览量 更新于2024-06-11 收藏 3.66MB DOCX 举报
MATLAB系统的传递函数和状态空间表达式的转换 一、实验目的 本实验的目的是学习多变量系统状态空间表达式的建立方法,并通过编程和上机调试,掌握多变量系统状态空间表达式与传递函数之间相互转换的方法。同时,掌握相应的MATLAB函数。 二、实验原理 在本实验中,我们将学习状态空间表达式和传递函数之间的关系。状态空间表达式是描述系统行为的数学模型,而传递函数是系统的输入输出关系的数学描述。状态空间表达式可以转换为传递函数,反之亦然。 本实验中,我们使用MATLAB函数来实现状态空间表达式和传递函数的转换。MATLAB函数ss(statespace的首字母)给出了状态空间模型,其一般形式是:sys=ss(A,B,C,D)。其中A为nXn维系统矩阵、B为nXm维输入矩阵、C为pXn维输出矩阵,D为直接传递函数。 同时,MATLAB函数tf(transferfunction的首字母)给出了传递函数,其一般形式是:G=tf(num,den)。其中num表示传递函数中分子多项式的系数向量(单输入单输出系统),den表示传递函数中分母多项式的系数向量。 此外,MATLAB函数tf2ss给出了传递函数的一个状态空间实现,其一般形式是:[A,B,C,D]=tf2ss(num,den)。而MATLAB函数ss2tf给出了状态空间模型所描述系统的传递函数,其一般形式是:[num,den]=ss2tf(A,B,C,D,iu)。其中对于多输入系统,必须确定iu的值。 三、实验步骤及结果 在本实验中,我们使用MATLAB对下列系统编程,求系统的A、B、C、D阵,然后验证传递函数是相同的。 首先,我们使用MATLAB函数tf2ss对系统进行编程,并求出系统的A、B、C、D阵。然后,我们使用MATLAB函数ss2tf对系统进行编程,并验证传递函数是相同的。 实验结果显示,系统的A、B、C、D阵分别为: A=-4 -5 -1 0 1 0 0 0 1 B= 1 0 0 0 1 0 0 0 1 C= 0 1 2 1 5 3 D= 0 0 0 0 [num,den]=ss2tf(A,B,C,D,iu) 其中iu=1表示u1,iu=2表示u2,iu=3表示u3。 四、实验结论 通过本实验,我们学习了多变量系统状态空间表达式的建立方法,并掌握了状态空间表达式与传递函数之间相互转换的方法。同时,我们也掌握了相应的MATLAB函数的使用。 在实际应用中,状态空间表达式和传递函数都是描述系统行为的重要工具。通过本实验,我们可以更好地理解和应用这些工具,以便更好地分析和设计系统。 五、结论 本实验旨在学习多变量系统状态空间表达式的建立方法,并掌握状态空间表达式与传递函数之间相互转换的方法。通过本实验,我们可以更好地理解和应用状态空间表达式和传递函数,以便更好地分析和设计系统。