- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机控制系统 仿真实验
实验及报告要求: 1.预习: 实验之前在实验报告上书写实验目的, 实验原理, 实验内容及理论计算部分; 看懂实验指导书上的例题。 2.上机:根据实验指导书及 Matlab 的 help 文件学习函数调用方法,自己编程序实现 实验内容的要求。 3.报告:将实验程序及输出数据(中间数据可以省略)或图形保存为电子文档,页面 设置纸型大小统一为 A4,打印并粘贴在实验报告合适位置(每段程序及图形应标注出相应 实验内容) ;根据实验结果回答思考题。 注:要求实验报告书写整洁,在规定时间内完成并上交。根据实验内容及报告完成情 况给出实验成绩(优、良、中、差) ,迟交者适当降低当次成绩,不交者当次成绩为 0,所 有实验成绩经综合后按合后将以比例记入本课程期末综合成绩中。 编码规范 1 每个程序文件(.m 文件)开头的 Help 部分 1)简要描述程序实现的功能; 2)程序名尽量使用完整的英文单词组成; 3)列出程序的调用格式; 4)分别列出输入输出参数的意义,格式(标量、矢量、矩阵)以及其它限制。 邮件写成 word 文件以附件形式寄往 yonglin@yeah.net,邮件名格式为“学号姓名第 几次实验报告” 。一共 7 个实验,第一次完成 1、2,第二次完成 3、4,第三次完成 5、6, 第四次完成 7.
第5页 共 32 页
计算机控制系统 仿真实验
图 1.9
S 函数的界面
图 1.10 三、实验内容 1.熟悉 Simulink 和环境和各实验模块 2.熟悉 Simulink 中的离散系统模块
S 函数的设置界面
四、实验预习要求 1.自学 MATLAB 语言; 2.掌握 MATLAB 有关的命令;
第6页Baidu Nhomakorabea
2. 信号基本运算的 MATLAB 实现 信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法 例 1-11 以 f(t)为三角信号为例,求 f(2t) , f(2-2t) t=-3:0.001:3; ft=tripuls(t,4,0.5); subplot(3,1,1); plot(t,ft); grid on; title ('f(t)'); ft1= tripuls(2*t,4,0.5); subplot(3,1,2); plot(t,ft1); grid on; title ('f(2t)'); ft2= tripuls(2-2*t,4,0.5); subplot(3,1,3); plot(t,ft2); grid on; title ('f(2-2t)'); 例 1-12 已知 f1(t)=sinwt , f2(t)=sin8wt , w=2pi , 求 f1(t)+f2(t)和 f1(t)f2(t) 的波形图 w=2*pi; t=0:0.01:3; f1=sin(w*t); f2=sin(8*w*t); subplot(211) plot(t,f1+1,':',t,f1-1,':',t,f1+f2)
正弦信号 正弦信号在 MATLAB 中用 sin 函数表示。 调用格式为 ft=A*sin(w*t+phi) A=1; w=2*pi; phi=pi/6; t=0:0.01:8; %定义时间点 ft=A*sin(w*t+phi); %计算这些点的函数值 plot(t,ft); %画图命令 grid on; %在图上画方格 抽样信号 抽样信号 Sa(t)=sin(t)/t 在 MATLAB 中用 sinc 函数表示。
第1页
共 32 页
计算机控制系统 仿真实验
实验〇 熟悉仿真环境
一、实验目的 1.学习使用 Simulink 仿真软件; 2.学会建立基于 Simulink 的控制系统仿真模型。 二、Simulink 的基础知识和相关模块 1.启动 MATLAB 计算机启动后,打开 MATLAB 软件,有两种方法:一是双击桌面上
共 32 页
计算机控制系统 仿真实验
第7页
共 32 页
计算机控制系统 仿真实验
实验一
一、实验目的
基本信号在 MATLAB 中的表示和运算
1. 学会用 MATLAB 表示常用连续信号的方法; 2. 学会用 MATLAB 进行信号基本运算的方法; 二、实验原理 1. 连续信号的 MATLAB 表示 MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。 表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样 时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形; 符号法是利用 MATLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解 析式,也可用绘图语句画出其波形图。 例 1-1 指数信号 指数信号在 MATLAB 中用 exp 函数表示。
例 1-4 三角信号 三角信号在 MATLAB 中用 tripuls 函数表示。 调用格式为 ft=tripuls(t,width,skew),产生幅度为 1,宽度为 width,且以 0 为中心左右各展开 width/2
第8页 共 32 页
计算机控制系统 仿真实验
大小,斜度为 skew 的三角波。width 的默认值是 1,skew 的取值范围是-1~+1 之间。一般最大幅度 1 出 现在 t=(width/2)*skew 的横坐标位置。 t=-3:0.01:3; ft=tripuls(t,4,0.5); plot(t,ft); grid on; axis([-3,3,-0.5,1.5]); 例1-5 虚指数信号 调用格式是 f=exp((j*w)*t) t=0:0.01:15; w=pi/4; X=exp(j*w*t); Xr=real(X); %取实部 Xi=imag(X); %取虚部 Xa=abs(X); %取模 Xn=angle(X); %取相位 subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]), title('实部'); subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]), title('虚部'); subplot(2,2,2), plot(t,Xa),axis([0,15,0,max(Xa)+1]),title('模'); subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1]),title('相角'); %subplot(m,n,i) 命令是建立 m 行 n 列画图窗口,并指定画图位置 i 例1-6 复指数信号 调用格式是 f=exp((a+j*b)*t) t=0:0.01:3; a=-1;b=10; f=exp((a+j*b)*t); subplot(2,2,1),plot(t,real(f)),title('实部') subplot(2,2,3),plot(t,imag(f)),title('虚部') subplot(2,2,2),plot(t,abs(f)),title('模') subplot(2,2,4),plot(t,angle(f)),title('相角')
第2页
共 32 页
计算机控制系统 仿真实验
图 1.2 3.打开 Simulink 的库
打开 Simulink 的界面
Simulink 的工具栏如图 1.3 所示,打开其中的 图 1.4 所示。
即可进入 Simulink 库的界面,具体如
图 1.3
Simulink 的工具栏
图 1.4 4.实验中用到的模块介绍 (1)传递函数模块
第9页 共 32 页
计算机控制系统 仿真实验
syms t y=sin(pi/4*t) ezplot(y,[-16,16]) 或者 f=sym('sin(pi/4*t)') ezplot(f,[-16,16]) j)
%定义符号变量 t %符号函数表达式 %符号函数画图命令 %定义符号函数表达式
单位阶跃信号 MATTLAB 符号数学函数 Heaviside 表示阶跃信号, 但要画图需在工作目录创建 Heaviside 的 M 文件 function f=Heaviside(t) f=(t>0); 保存,文件名是 Heaviside ,调用该函数即可画图,例 t=-1:0.01:3; f=heaviside(t); plot(t,f) axis([-1,3,-0.2,1.2]) 或者 y=sym('Heaviside(t)'); ezplot(y,[-1,5]);grid on
例 1-7 矩形脉冲信号 矩形脉冲信号可用 rectpuls 函数产生, 调用格式为 y=rectpuls(t,width),幅度是 1,宽度是 width,以 t=0 为对称中心。 t=-2:0.01:2; width=1; ft=2*rectpuls(t,width); plot(t,ft) grid on; 例 1-8 单位阶跃信号 单位阶跃信号 u(t)用“t>=0”产生,调用格式为 ft=(t>=0) t=-1:0.01:5; ft=(t>=0); plot(t,ft); grid on; axis([-1,5,-0.5,1.5]); 例 1-9 正弦信号符号算法
例 1-3
定义为 Sa (t ) sin c (t / ) t=-3*pi:pi/100:3*pi; ft=sinc(t/pi); plot(t,ft); grid on; axis([-10,10,-0.5,1.2]); title('抽样信号')
%定义画图范围,横轴,纵轴 %定义图的标题名字
传递函数的设置界面
控制系统方框图中的比较器在 Simulink-Math Operations 中,具体如图 1.6 所示,即 Sum 模块。
图 1.6 (3)示波器(显示监视点的波形)
比较器的界面
示波器在 Simulink-Sinks 中,具体如图 1.7 所示,即 Scope 模块。
第4页
共 32 页
at
如 f (t ) Ae ,调用格式为 A=1; a=-0.4; t=0:0.01:10; ft=A*exp(a*t); plot(t,ft); grid on; 例 1-2
ft=A*exp(a*t) 程序是
%定义时间点 %计算这些点的函数值 %画图命令,用直线段连接函数值表示曲线 %在图上画方格
图标:一是
点击开始菜单的程序,从级联菜单中找到“MATLAB” ,单击“MATLAB”即可。其界面 如图 1.1 所示。
图 1.1 MATLAB 界面
2.启动 Simulink 打开 MATLAB 主界面中的文件菜单,选择 Model 即可打开 Simulink 仿真环境。其界 面如图 1.2 所示。
Simulink 库的界面
打开 Simulink 库中的“Continuous” ,在右边一栏中即可见到传递函数模块,即如图 4
第3页 共 32 页
计算机控制系统 仿真实验
中的蓝色模块。 传递函数模块的设置是在弹出框中分别输入分子和分母的系数即可, 具体界面如图 1.5 所示。
图 1.5 (2)比较器
计算机控制系统 仿真实验
图 1.7 (4)信号源
示波器的界面
信号源是用来提供各种系统输入信号,如阶跃信号,速度信号等,信号源模块在 Simulink-Sources 中, 阶跃信号即为 Step 模块, 速度信号为 Ramp 模块, 具体如图 1.8 所示。
图 1.8 (5)S 函数
信号源的界面
S 函数是提供 Simulink 与.m 文件的接口,S 函数模块在 Simulink- User-Defined Functions 中 S-Function 模块,具体如图 1.9 所示。S 函数的设置是通过双击 S 函数模块, 在其弹出界面中分别输入需要链接的.m 函数的函数名和相应的参数,如果需要链接的.m 函数为 pidcon.m,其参数分别为 1,0.75,0.3,0.03,10,则其界面如图 1.10 所示。
第 10 页 共 32 页
计算机控制系统 仿真实验