1、计算机仿真实验报告计算机仿真技术MATLAB实验报告实验一:实验内容:已知单位负反馈系统前向通道传递函数和其闭环传递函数分别为:1. 算法说明因为wn=1,所以分子num为1,这里我们用bc代表阻尼系数,再对其每隔0.1取一个数,利用循环for语句画其每一条曲线并观察;y(:,i)表示y中所有行,第i列;用step函数绘制阶跃响应曲线模型,mesh函数用来建立三维曲线模型,此处相当于将几条阶跃响应扯出并竖过来,使其更符合观察需要,flipud用来实现矩阵的翻转。2.程序及运行结果在MATLAB中键入以下程序:为了从不同的角度观察响应曲线,我们取了两个视角范围:(1) 280 20图形如下:(2
2、) 220 30图形如下:两张图中范围为0,10的是x轴,在这里代表阻尼比,范围0,200的是y轴,范围0,2的是z轴。可以看出,两张图处于三维空间的不同视角,可以满足不同的观察需要。实验二:实验内容:已知一个单位负反馈系统的前向通道的传递函数为:试绘制该函数的单位等加速度信号输入响应及其稳态误差响应曲线,并计算其响应的稳态误差。1.算法说明此处使用tf函数建立开环传递函数模型,feedback函数建立闭环传递函数模型,并通过dcgain函数求出加速度误差系数,因为计算加速度误差取极限时前方要乘以s的平方,所以要将原系数每个提升二阶,所以num后要加两个0,再根据公式,对加速度误差系数取倒数即
3、可得稳态误差。对于加速度响应,由于不像阶跃响应由预置好的step函数,所以我们要建立一个加速度输入函数u(i),再将闭环传递函数和输入函数数据交给lsim函数画图即可。2.程序及运行结果在MATLAB中键入以下程序:上图程序中可见,已算出稳态误差为Ka为3.33333。运行后所画稳态误差曲线如下图:上图可以看出,最终输出与输入误差趋于固定值,且约为3.33333.说明此系统可以跟踪单位加速度响应。实验三:实验内容:已知单位负反馈系统的开环传递函数为:试绘制系统根轨迹,并分析系统稳定的k值范围。1.算法说明这里的分母我们使用多项式函数conv,由于函数限制最多只能写两项,而这里分母有三项,所以我
4、们采用conv里面再套一个conv来解决。Rlcous函数用来绘制根轨迹模型,其他后续操作在下面说明。2.程序及运行结果在MATLAB中键入以下程序:前两行键入完毕后,系统先画出根轨迹如下图:然后键入rlocfind函数后可以根据需求找图上对应的增益K值,显然虚轴左半平面为稳定部分,右半平面为不稳定部分,所以我们据此可以大概找出临界点位置:输入后,我们在图中选取如下点:选好后图上出现红色的叉即为我们标出的点,如下图所示:而程序中也会相应的算出K值为K=6.3095(见上方程序图),所以当K6.3时系统不稳定。实验四:实验内容:已知线性定常系统的状态方程为:其初始状态为零,试利用Matlab求u
5、(t)为单位阶跃函数时系统状态方程的解。1.算法说明syms函数用来定义一个符号变量,使其区别于数值变量,inv用来求逆矩阵,ilaspace函数用来求拉普拉斯反变换,求出后将求出的两行分别令为x1和x2即可,即为状态方程的解。2.程序及运行结果在MATLAB中键入如下程序:最后x1和x2即为状态方程的解而plot画图指令还将他们显示出他们的曲线,如下图:实验五:实验内容:已知多环系统:其系统结构图如下图所示,试利用Nyquist曲线判断系统的稳定性1.算法说明这里使用zpk模型建立传递函数,其中z1,p1,k1为小闭环的模型,z,p,K为大闭环的模型,由于放大系数为10,所以,原来基准点(-
6、1,j0)要改成(-0.1,j0),然后根据nyquist判据方法判断即可,cloop用来生成大闭环传函,用来求极点。2.程序及运行结果在MATLAB中输入如下程序:由上图可见3个极点均位于左半平面,所以判据公式中P=0;下图为运行后画出的nyquist曲线:上图中可见其未包围(-0.1,j0)点,所以N=0;根据nyquist判据,Z=P+N=0+0=0,所以此系统稳定。实验六:实验内容:求以下多输入多输出系统的单位阶跃响应曲线:1.算法说明分别将两个输入的系数用a,b矩阵表示,两个输出系数c,d矩阵表示:则将他们分别在程序中遍历给计算机,然后用step函数即可画出阶跃响应曲线。2.程序及运行结果在MATLAB中输入如下程序:(a过长,后面还有很多元素没有显示在图中)运行后结果如下图所示:如上图所示,第一排两个分别是两个输入的阶跃响应曲线 第二排两个分别是两个输出的阶跃响应曲线
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1