《系统仿真技术》 实验指导书 成新明、胡扬 编写
中南大学信息科学与工程学院
2014年5月18日
目录
实验一 MATLAB中矩阵与多项式的基本运算 ...................................................................... 1 实验二 MATLAB绘图命令 ...................................................................................................... 2 实验三 MATLAB程序设计 ...................................................................................................... 3 实验四 实验五 实验六 MATLAB的符号计算与SIMULINK的使用............................................................. 5 MATLAB在控制系统分析中的应用 .......................................................................... 8 连续系统数字仿真的基本算法.................................................................................. 14
实验一 MATLAB中矩阵与多项式的基本运算
一、实验任务
1.了解MATLAB命令窗口和程序文件的调用。 2.熟悉如下MATLAB的基本运算:
① 矩阵的产生、数据的输入、相关元素的显示; ② 矩阵的加法、乘法、左除、右除;
③ 特殊矩阵:单位矩阵、“1”矩阵、“0”矩阵、对角阵、随机矩阵的产生和运算; ④ 多项式的运算:多项式求根、多项式之间的乘除。
二、基本命令训练
1.eye(m)
2.one(n)、ones(m,n) 3.zeros(m,n) 4.rand(m,n) 5.diag(v)
6.A\\B 、A/B、 inv(A)*B 、B*inv(A) 7.roots(p) 8.poly
9.conv 、deconv 10.A*B 与 A.*B的区别 11.who与whos的使用
12.disp、size(a)、length(a)的使用
三、实验要求
根据实验内容和相关命令进行实验,自拟输入元素,将上述各命令的输入和输出结果写成实验报告一(全部实验完成后交实验报告)。
1
实验二 MATLAB绘图命令
一、实验任务
熟悉MATLAB基本绘图命令,掌握如下绘图方法: 1.坐标系的选择、图形的绘制;
2.图形注解(题目、标号、说明、分格线)的加入; 3.图形线型、符号、颜色的选取。
二、基本命令训练
1.plot 2.loglog 3.semilogx 4.semilogy 5.polar 6.title 7.xlabel 8.ylabel 9.text 10.grid 11.bar 12.stairs 13.contour
三、实验举例
1.t=[0:pi/360:2*pi*22/3];
x=93*cos(t)+36*cos(t*4.15); y=93*sin(t)+36*sin(t*4.15); plot(y,x),grid; 2. t=0:0.05:100;
x=t;y=2*t;z=sin(2*t);
plot3(x,y,z,'b:')
3. t=0:pi/20:2*pi;
y=sin(x); stairs(x,y)
4. th=[pi/200:pi/200:2*pi]';
r=cos(2*th); polar(th,r),grid 5. th=[0:pi/10:2*pi];
x=exp(j*th);
plot(real(x),imag(x),'r*'); grid;
四、实验要求
在两种或两种以上坐标系绘制3~5个图形,要有颜色、图形种类、注解的不同 实验结果写成实验报告二(全部实验完成后交实验报告)。
2
实验三 MATLAB程序设计
一、实验任务
1.熟悉MATLAB程序设计的方法和思路;
2.掌握循环、分支语句的编写,学会使用look for、help命令。
二、程序举例
1.计算1~1000之内的斐波那契亚数列 f=[1,1];
i=1;
while f(i)+f(i+1)<1000
f(i+2)=f(i)+f(i+1); i=i+1;
end f,i
2. m=3;
n=4; for i=1:m
for j=1:n
a(i,j)=1/(i+j-1); end
end
format rat a
3. m=3;
n=4; for i=1:m
for j=1:n
a(i,j)=1/(i+j-1); end
end a
请比较程序2与程序3的区别
4. x=input('请输入x的值:');
if x==10
y=cos(x+1)+sqrt(x*x+1); else
y=x*sqrt(x+sqrt(x)); end y
5.去掉多项式或数列开头的零项
3