计算机仿真 MATLAB课程设计报告
时间:2025-07-06
时间:2025-07-06
北京邮电大学 计算仿真 最后大作业 很给力的 2012年的哦
《计算机仿真》 MATLAB课程设计报告
学院: 自动化学院 专业: 自动化专业 班级: 姓名: 学号:
2013年1月14日
北京邮电大学 计算仿真 最后大作业 很给力的 2012年的哦
目录
一、基本操作................................................................................................................ 1 1、定义一组数据.................................................................................................... 1 2、作f1(t)的波形 .................................................................................................. 1 3、作f2(t)的波形 ................................................................................................... 2 4、求传递函数以及伯德图.................................................................................... 3 二、子系统封装............................................................................................................ 4 1、用simlink建立系统 ........................................................................................ 4 2、锯齿波输入下的输出 ...................................................................................... 5 3、在工作空间绘制波形图 .................................................................................. 6 三、PID控制器参数整定 ............................................................................................ 7
1、设置各控制器参数 .......................................................................................... 8 2、整定后系统的单位阶跃响应曲线 ................................................................ 10 3、编程法求动态性能指标 ................................................................................ 13 四、总结与体会.......................................................................................................... 14 五、参考文献.............................................................................................................. 14
北京邮电大学 计算仿真 最后大作业 很给力的 2012年的哦
一、基本操作
程序实现:
1、自己定义一组数据,并将其保存到文件data.dat。要求第一列为时间t(t为等差数列,0≤t≤200);第二列为与t对应的201个幅值数据,作为信号f (t )1 的幅值;第三列为按s的降幂排列的传递函数分子系数;第四列为按s的降幂排列的分母系数。第三列、第四列的数据个数不能超过5个。 2、读入data.dat数据,画出f 1 (t )的时域波形。
3
求取f 2 (t ),将结果保存到result.mat文件,画出其时域波形。 报告要求:简述程序的实现过程。
4、按 data.dat中的第三列、第四列,求取其对应的传递函数,绘制其bode图。
各环节实现过程:
1、直接在excel中按要求写入一组数据,即第一列201个数据t代表201个时间0--200;第二列是与第一列对应的201个幅值数据;第三列为按s的降幂排列的传递函数分子系数;第四列为按s的降幂排列的分母系数。
2、要画出f1(t)的时域波形,具体做法是:先读取excel中的数据,把它们放入一个矩阵A,取矩阵的第一列作为输入x,取矩阵的第二列作为输入y,最后用plot命令绘制出f1(t)的时域波形。具体编程及f1(t)的时域波形如下:A=xlsread('J:\data.dat.xls', 'sheet1');x=A(:,1);y=A(:,2);plot(x,y)
f2(t)
北京邮电大学 计算仿真 最后大作业 很给力的 2012年的哦
图1 f1(t)时域波形图
3、先读取excel中的数据到矩阵X和Y中,t从0--9时,把Y矩阵第二列的前
十行的数据写为原来的二倍,即f2(t)=2*f1(t), (0<=t<10);t从10--100时,把单元格A11--B101之间的90行2列的数据读入矩阵B,找出矩阵B第二列的数据中大于等于15的数据,并把它们清除;然后B中剩下元素就做乘方运算作为对应的f2(t),即f2(t)=f1(t)^2;取单元格A11--B201之间的190行2列的数据读入矩阵C,把矩阵C中属于矩阵B的元素清除,矩阵Y中对应的第二列的幅值数据就是原幅值数据的超前3秒的幅值,即f2(t)=f1(t-3)。具体实现代码及其时域波形如下:
X=xlsread('J:\data.dat.xls', 'sheet1'); Y=xlsread('J:\data.dat.xls', 'sheet1'); Y(1:10,2)=2*X(1:10,2);
B=xlsread('J:\data.dat.xls','sheet1','A11:B101'); B(find(abs(B(:,2))>=15),:)=[]; Y(B(:,1)+1,2)=X(B(:,1)+1,2).^2;
C=xlsread('J:\data.dat.xls','sheet1','A11:B201'); C(B(:,1)-9,:)=[];Y(C(:,1)+1,2)=X(C(:,1)-2,2);
x=Y(:,1);y=Y(:,2);plot(x,y)
图2 f2(t)时域波形图
北京邮电大学 计算仿真 最后大作业 很给力的 2012年的哦
通过语句将结果保存到result.mat 文件中,具体代码如下: xlswrite('G:\result.mat.xls',Y, 'sheet1');
4、读取表格中的C1--C4单元格中的数据,放在矩阵A中,把A转置后作为传函
的分子的系数;读取表格中的D1--D5单元格中的数据,放在矩阵B中,把B转置后作为传函的分母的系数。
>>A=xlsread('J:\data.dat.xls', 'sheet1','C1:C5'); >>num=A';
>>B=xlsread('J:\data.dat.xls', 'sheet1','D1:D5'); >>den=B'; >>G=tf(num,den) G =
3 s^4 + 6 s^3 + 9 s^2 + 5 s + 4 ------------------------------- 6 s^4 + 6 s^3 + 3 s^2 + s + 2
Continuous-time transfer function.
bode(num,den)
北京邮电大学 计算仿真 最后大作业 很给力的 2012年的哦
下一篇:暑期社会实践心得