计算机仿真实验指导书

更新时间:2024-05-02 00:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机仿真

实 验 指 导 书

主编:范为幅

中原工学院电子信息学院

二 0 一二年 十 月

前 言

《计算机仿真》课程是近几十年发展的一门综合性技术学科,尤其对自动控制系统进行分析设计和综合研究提供了先进的手段,这门课程涉及到计算机原理、数值分析、自动控制理论以及控制系统设计等诸方面的内容,是一门综合性与实践性较强的专业课。

由于本门课程是一门综合性实验学科,具有很强的实验性的特点,在教学过程中应特别注意加强实验环节,配合课堂教学的进程,加强理论与实践紧密结合,学以致用。为此我们编写了计算机仿真实验指导书,作为上机实验参考。

《计算机仿真》实验包括六个上机实验,供我院自动化类专业教学选用。实验内容包括:面向系统结构图的仿真程序调试、初试MATLAB、基于MATLAB的系统时域分析、系统的根轨迹与频域分析、SIMULINK设计、基于MATLAB的系统分析与设计。

本书由范为福老师编写,王东云、王小雷、张谦老师审核。

1

目 录

第一章 概述 ……………………………………………………………………3 第二章 实验要求及注意事项 …………………………………………………4 第三章 实验项目 ………………………………………………………………5 实验一 面向系统结构图的仿真程序调试 ……………………………………5 实验二 初试MATLAB ……………………………………………………………9 实验三 基于MATLAB的系统时域分析…………………………………………12 实验四 系统的根轨迹与频域分析 ……………………………………………15 实验五 SIMULINK设计…………………………………………………………13 实验六 基于MATLAB的系统分析与设计………………………………………13 第四章 上机实验涉及的程序清单及常用命令函数 …………………………16 第五章 参考文献…………………………………………………………………22

2

第一章 概 述

控制系统的计算机仿真是分析、研究、设计自动控制系统的一种快速而经济的辅助手段,同时它还是控制系统教育和训练的一种有效方法,是从事自动控制研究与工程设计技术人员必须掌握的一门技术,因而在自动控制领域中已得到广泛的重视与应用。随着科学技术的不断进步,计算机在人类社会各领域中发挥越来越重要的作用。对控制科学与工程及相关学科的在校大学生提出了更高的要求——不仅要求懂得自动控制原理与控制工程,还应掌握使用数字计算机进行控制系统设计、分析与综合的基本技能。

《计算机仿真》课程就是为本科生开设的专业任选课。其目的在于使学生了解计算机仿真技术的发展与应用,掌握计算机仿真技术的基本原理与方法,能够使用MATLAB语言编写控制系统仿真程序、用SIMULINK等进行控制系统的数字仿真。为进一步从事控制科学与工程及相关的研究、控制系统开发奠定基础。

《计算机仿真》课程具有很强的实验性的特点,仿真实验是课程教学的一个重要环节,为了配合课堂教学的进程,上机实验课与课堂教学相互穿插进行,加强理论与实践相结合。通过上机实践要求学生能够使用MATLAB语言编写控制系统的仿真程序、用SIMULINK等进行控制系统的数字仿真。

《计算机仿真》实验包括六个上机实验,供我院自动化类专业教学选用。实验内容包括:面向系统结构图的仿真程序调试、初试MATLAB、基于MATLAB的系统时域分析、系统的根轨迹与频域分析、SIMULINK设计、基于MATLAB的系统分析与设计。每个实验给出实验内容及要求,要求学生予习及准备阶段做的设计工作较多,意在使学生了解利用MATLAB从系统建模到设计、仿真的全过程,以提高分析问题和解决问题的能力。当然也完全可以根据学生情况组织小组讨论或教师给予必要的提示,重新编排上机实验或选择更合理的实验参数。

3

第二章 实验要求及注意事项

一、预习要求:

要求认真阅读实验指导书,复习与实验相关的理论知识,根据要求写出预习报告(如实验内容、仿真程序等)。 二、实验要求:

要求每个学生都必须认真完成每一个实验,学以致用;撰写实验报告,对仿真结果进行分析。

三、实验报告要求: ① 实验名称 ② 实验目的或要求

③ 编写仿真程序,记录和整理各个仿真实验的数据和曲线 ④ 对仿真结果进行分析

4

第三章 实验项目

实验一 面向系统结构图的仿真程序调试

一、实验目的

1. 熟悉以结构图形式描述的连续系统的数字仿真方法和步骤。 2. 了解仿真程序的使用方法以及使用的限制条件。

3. 学会分析系统环节参数变化对系统动态特性的影响。 二、实验属性 (验证性) 三、实验要求

实验前,要求预习结构图仿真程序的原理和程序的各变量的含义,使用方法及条件;准备好运行程序所需的计算用参数,熟悉各参数输入方法。实验中要认真进行仿真程序调试,进行仿真实验,了解系统参数变化对动态特性的影响并记录实验数据或曲线。实验后写出实验报告,并对仿真实验结果进行分析、讨论。 四、实验内容与步骤

一、调入面向系统结构图的仿真程序FZ1(程序见附录C),了解仿真程序的使用方法及程序调试。

二、使用仿真程序FZ1,对图1-1所示控制系统进行仿真研究。当系统参数分别为: (1)p1?0.02,p3?10,p4?100,z1?0.1 (2)p1?0.2,p3?10,p4?100,z1?0.1 (3)p1?0.2,p3?10,p4?100,z1?1

试确定在阶跃信号输入下系统的动态特性。计算各系统的动态性能指标,并进行分析。

图1-1 控制系统结构图

5

实验二 初试MATLAB

一、实验目的

1.熟悉视窗下的MATLAB环境;

2.掌握MATLAB软件的基本使用方法; 3.应用MATLAB命令建立系统数学模型;

4.掌握利用MATLAB软件进行控制系统模型转换的方法。 二、实验属性 (验证性) 三、实验仪器设备及器材 1.硬件要求

基于IBM-PC或与之完全相兼容的带有中央处理器的奔腾及其以上机器至少64KB内存,推荐使用128KB以上内存。 2. 软件要求

安装有MATLAB,并且有Microsoft Word7.0(office95)以上支持的操作系统。 四、实验要求

实验前要求熟悉相关MATLAB函数并预习实验的相关内容,写出预习报告。实验时要按要求完成上机实验内容并且检验和调整程序,观察并记录仿真结果。实验后写出实验报告,并对仿真实验结果进行分析、讨论。 五、实验内容与步骤

1.双击MATLAB6.5的图标,运行MATLAB时,展示在用户面前的为桌面环境的缺省界面窗口,如图2-1所示。

图2-1 MATLAB的桌面环境

6

要求熟悉视窗下的MATLAB环境,分别观察和熟悉菜单项、工具栏、历史命令窗口、命令窗口、当前目录浏览器、工作空间浏览器、目录分类窗口、M文件编辑器/调试器、超文本帮助浏览器。

2.单击工具栏中帮助按钮(或者单击Help菜单中的MATLAB Help),打开MATLAB6.5的帮助系统,练习和熟悉MATLAB6.5的帮助系统的使用。 3. 熟悉教材上相关矩阵的MATLAB基本运算; 4. 熟悉教材上常微分方程的MATLAB求解;

s3?11s2?30s5. 建立G(s)?4的传递函数,零极点及状态方程模型; 32s?9s?45s?87s?50(方法自选)

6.应用MATLAB命令编写相应M文件,建立图2-2系统的数学模型——闭环传递函数。

图2-2 调速系统 7.求满足

?i?1000的最小m值,并编写该函数;

i?1m

7

实验三 基于MATLAB的系统时域分析

一、实验目的

1.熟悉MATLAB的各种绘图命令;

2.掌握基于MATLAB的控制系统时域分析方法。 二、实验属性 (验证性) 三、实验仪器设备及器材 1.硬件要求

基于IBM-PC或与之完全相兼容的带有中央处理器的奔腾及其以上机器至少64KB内存,推荐使用128KB以上内存。 3. 软件要求

安装有MATLAB,并且有Microsoft Word7.0(office95)以上支持的操作系统。 四、实验要求

实验前要求熟悉相关MATLAB函数并预习实验的相关内容,写出预习报告。实验时要按要求完成上机实验内容并且检验和调整程序,观察并记录仿真结果。实验后写出实验报告,并对仿真实验结果进行分析、讨论。 五、实验内容与步骤

1.应用MATLAB的绘图命令,绘制y=3x2+4x-7在[-10 10]之间的图形。 2. 应用MATLAB的绘图命令,绘制y=sinx、y=cosx在一个周期内的图形。 3. 已知单位负反馈控制系统的开环传递函数为G(s)?K,应用MATLAB

s(0.5s?1)(4s?1)命令编写相应M文件,绘制系统的K值分别为1.4,2.3,3.5时的单位阶跃响应曲线。 4. 一个二阶系统为G(s)?K,其中c?{1,2,4},K?{1.25,2,29},应2s?cs?K用MATLAB命令编写相应M文件,绘制系统对应三组不同参数配合下,同一坐标轴里的三条阶跃响应曲线。

5. 应用MATLAB命令编写相应M文件,分别绘制图3-1各控制系统的单位阶跃响应曲线并比较其动态性能.

图3-1 控制系统

8

实验四 系统的根轨迹与频域分析

一、实验目的

1.熟悉MATLAB的各种函数命令的调用格式;

2.掌握基于MATLAB的控制系统根轨迹与频域分析方法。 二、实验属性 (综合性) 三、实验仪器设备及器材 1.硬件要求

基于IBM-PC或与之完全相兼容的带有中央处理器的奔腾及其以上机器至少64KB内存,推荐使用128KB以上内存。 4. 软件要求

安装有MATLAB,并且有Microsoft Word7.0(office95)以上支持的操作系统。 四、实验要求

实验前要求熟悉相关MATLAB函数并预习实验的相关内容,写出预习报告。实验时要按要求完成上机实验内容并且检验和调整程序,观察并记录仿真结果。实验后写出实验报告,并对仿真实验结果进行分析、讨论。 五、实验内容与步骤

1.熟悉和掌握MATLAB有关控制系统根轨迹法的函数命令及调用格式。设单位反馈控制系统的开环传递函数如下,应用MATLAB命令编写相应M文件,绘制出相应的闭环根轨迹。

⑴ G(s)?K

s(0.2s?1)(0.5s?1)K(s?1)

s(2s?1)⑵ G(s)?K*(s?5)⑶ G(s)?

s(s?2)(s?3)2.熟悉和掌握MATLAB有关控制系统根轨迹法的函数命令及分析方法。设单位反馈控制系统的开环传递函数为G(s)?K,应用MATLAB命令编写相应M文件,

s(0.01s?1)(0.02s?1)要求:① 绘制闭环根轨迹;

② 确定系统的临界稳定开环增益;

③ 确定与系统临界阻尼比相应的开环增益。

3.熟悉和掌握MATLAB有关控制系统根轨迹法的函数命令及分析方法。设反馈控制系统中

9

K*,H(s)?1,应用MATLAB命令编写相应M文件,要求: G(s)?s(s?2)(s?5)① 绘制闭环根轨迹,并判断闭环系统的稳定性;

② 若改变反馈通路传递函数,使H(s)?1?2s,绘制相应的闭环根轨迹,并研究由于H(s)改变所产生的效应。

4.熟悉和掌握MATLAB有关控制系统频域分析法的函数命令及分析方法。应用MATLAB命令编写相应M文件,绘制以下系统的频率特性曲线,并计算各系统的相角裕度和幅值裕度。

2

(2s?1)(8s?1)200② G(s)?2

s(s?1)(10s?1)s8(?1)0.1③ G(s)?

ss(s2?s?1)(?1)2① G(s)?s2s10(??1)40010④ G(s)? s(s?1)(10s?1)

10

实验五 SIMULINK设计

一、实验目的

1.熟悉 Simulink的环境和Simulink功能模块库 。 2.掌握Simulink系统建模与系统仿真的方法。 二、实验属性 (验证性) 三、实验仪器设备及器材 1.硬件要求

基于IBM-PC或与之完全相兼容的带有中央处理器的奔腾及其以上机器至少64KB内存,推荐使用128KB以上内存。 5. 软件要求

安装有MATLAB,并且有Microsoft Word7.0(office95)以上支持的操作系统。 四、实验要求

实验前要求了解Simulink的环境和Simulink功能模块库并预习实验的相关内容,写出预习报告。实验时要按要求完成上机实验内容并且检验和调整程序,观察并记录仿真结果。实验后写出实验报告,并对仿真实验结果进行分析、讨论。 五、实验内容与步骤

1.熟悉 Simulink的环境、Simulink功能模块库、模块的创建、模块内部参数的修正以及模型文件的保存与打开。

2.掌握利用Simulink建立控制系统动态结构图及其仿真的方法。

3.采用Simulink系统建模与系统仿真的方法,对图5-1所示非线性系统进行仿真研究。要求绘制信号c、x、y的稳态波形,,并确定输出信号c的自振振幅和频率。

图5-1 非线性控制系统 图5-2 非线性控制系统

4.采用Simulink系统建模与系统仿真的方法,对图5-2所示非线性系统进行仿真研究。系统开始是静止的,输入信号r(t)?4?1(t),要求绘制该系统的相平面图,并分析系统的运动特点。

5.采用Simulink系统建模与系统仿真的方法进行系统校正,系统校正前开环传递函数为

G(s)?180,串联校正装置的传递函数为:

s(0.5s?1)(0.167s?1) 11

Gc(s)?(1.43s?1)(0.5s?1),要求绘制系统校正前后动态响应曲线,分析系统校正

(73.3s?1)(0.0097s?1)前后的动态特性。

实验六 基于MATLAB的系统分析与设计

一、实验目的

1.掌握基于MATLAB的系统分析与设计方法。 2.计算机仿真课程综合考查。 二、实验属性 (综合性) 三、实验仪器设备及器材 1.硬件要求

基于IBM-PC或与之完全相兼容的带有中央处理器的奔腾及其以上机器至少64KB内存,推荐使用128KB以上内存。 6. 软件要求

安装有MATLAB,并且有Microsoft Word7.0(office95)以上支持的操作系统。 四、实验要求

实验前要求掌握计算机仿真课程相关内容,。实验时要按要求完成上机综合考查内容。 五、实验内容

以综合考查试卷形式给出。

12

第四章 上机实验涉及的程序清单及常用命令函数

附录A MATLAB常用命令函数参考

MATLAB提供了近20类基本命令函数,其中一部分是MATLAB的内部命令,另一部分是以M文件形式给出的函数。这些M文件按类归于一个子目录下,每个函数文件都包含了这一函数的用法指南,可以用命令help fn(fn为M文件名)来显示有关函数fn的帮助信息。也可以用命令help dn(dn为目录名)来显示该目录下函数文件的简要说明。对于具体的M文件,可以用edit fn、open fn或type fn的命令方式来查看其详细的实现方法。限于篇幅,按功能给出MATLAB函数分类索引。 1.通用函数与命令

1)管理用命令:help,what,type,lookfor,which,demo,path

2)变量与工作空间的管理:who,whos,load,save,clear,pack,size(),length(),disp()

3)文件和操作系统的处理:cd,dir,delete,getenv,!,unix,diary 4)命令窗口控制:cedit,clc,home,format,echo,more 5)启动与退出MATLAB:quit,startup,matlabrc

6)一般信息:info,subscribe,hostid,whatsnew,ver 2.运算符号与特殊字符

1)运算符号与特殊字符: +, —, x,.x,,·, \,/,·/,kron(),:,(,), [,],…,;%,!,’,二,二:,<,>,&,I,·,xor() 2)逻辑特性函数:exist(),any(),all,find(),isnan(),isinf(),isinfite(),isempty(),issparse(),isstr(),isglobal() 3.语言结构与跟踪调试

1)编程语言用MATLAB结构:script,function,eval(),feval(),global,nargchk(),lasterr ( )

2)控制流程:if,else,elseif,end,for,while,break,return,error

3)交互输入函数及命令:input(),keyboard,menu(),pause,uimenu(),uicontrol() 4)跟踪调试命令:dbstop,dbclear,dbcont,dbdown,dbstack,dbstatus,dbstep,dbtype,dbquit

4.基本矩阵与矩阵处理

1)基本矩阵:zeros(),ones(),eye(),rand(),randn(),linspace(),logspace(), meshgrid()

2)特殊变量与常量:ans,eps,realmax,realmin,pi,i,j,inf,NaN,flops(),nargin, nargout,computer,isieee(),why,version

3)时间与日期:clock,cputime(),date(),etime(),tic(),toc()

13

4)矩阵处理:diag(),fliplr(),flipud(),reshape(),rot90(),tril(),triu() 5.矩阵函数及数值线性代数 1)矩阵分析:cond(),norm(),rcond(),rank(),det(),trace(),null(),orth(), rref() 2)线性方程: \,/,chol(),lu(),inv(),qr(),qrdelete(),qrinsert(),nnls(), piny(),lseov()

3)特征值与奇异值:eig(),poly(),hess(),qz(),rsf2csf(),cdf2rdf(),schur(), balance(),svd()

4)矩阵函数:expm(),expml(),expm2(),expm3(),logm(),sqrtm(),funm()

5)特殊矩阵:compan(),gallery(),hadamard(),hankel(),hilb(),invhilb(), kron(),magic(),pascal(),rosser(),toeplitz(),vander(),wilkinson() 6.基本数学函数

1)三角函数:sin(),sinh(),asin(),asinh(),cos(),cosh(),acos(),acosh(), tan(),tanh(),atan(),atan2(),atanh(),sec(),sech(),asec(),asech(),csc(),csch(),acsc(),acsch(),cot(),coth(),acot(),acoth() 2)指数函数:exp(),log(),logl0(),sqrt()

3)复数函数:abs(),angle(),conj(),imag(),real()

4)数值处理:fix(),floor(),ceil(),round(),rem(),sign() 7.数据分析与Fourier变换函数 1)基本运算:max(),min(),mean(),median(),std(),sort(),sum(),prod(), cumsum(),cumprod(),trapz()

2)微分运算:diff(),gradient(),del2() 3)方差处理:corrcoef(),cov(),subspace()

4)滤波和卷积:filter(),filter2(),conv(),conv2(),deconv() 5)Fourier变换:fft(),fit2(),ifft(),ifft2(),abs(),angle(),unwrap(),fftshift(),cplxpar(),nextpow2() 8.多项式处理函数

1)多项式处理:roots(),poly(),polyval(),polyvalm(),residue(),polyfit(), polyder(),conv(),deconv()

2)数据插值:interpl(),interp2(),interpft(),griddata() 9.非线性数值方法

ode23(),ode23p(),ode45(),quad(),quad8(),fmin(),fmins(),fzero(),fplot() 10.稀疏矩阵函数

1)基本稀疏矩阵:speye(),sprandn(),sprandsym(),spdiags()diagonals 2)稀疏矩阵转换:sparse(),full(),find(),spconvert()

3)处理零元素:nnz(),nonzeros(),nzmax(),spones(),spalloc(),issparse(), 4)稀疏矩阵可视化:spy(),gplot()

5)重新排序算法:colmmd(),symmmd(),symrcm(),colperm(),randperm(),dmperm() 6)范数条件数等参数:normest(),condest(),sprank()

14

函数名称 nyquist sigma yquist图 功能描述 奇异值频域图

7.增益选择与根轨迹 acker dlqe dlqew dlqr dllqry 1qe lqed 1qe2 lqew 1qr 1qrd lqry place pzmap rlocfind rlocus sgrid zgrid

单输入单输出系统极点配置 离散线性二次估计器设计 带有过程噪声的离散系统Kalman估计器设计 离散线性二次调节器设计 输出加权的离散调节器设计 线性二次估计器设计 基于连续代价函数的离散估计器设计 利用Schur方法设计线性二次估计器 带有过程噪声的连续系统Kalman估计器设计 线性二次调节器设计 基于连续代价函数的离散调节器设计 输出加权的调节器设计 配置极点 零极点图 确定给定根的轨迹 绘制根轨迹 生成根轨迹的s平面网格 生成根轨迹的z平面网格 20

附录C 面向系统结构图的仿真程序FZ1

21

22

23

24

第五章 参考文献

1 GB3179-82科学技术期刊编排规则

2 GB7713-87科学技术报告、学位论文和学术论文的编写格式 3 GB6447-86文摘编写规则

4 GB1.2-88 国家标准的文字编写规则

5 张平官.图书编著译参考手册.上海:同济大学山版社,1993.218~306 6 庞家驹.科技书籍编辑学教程.沈阳:辽宁教育出版社,1996.205~230 7胡寿松. 自动控制原理. 北京: 科学出版社,2001年2月. 8 徐家蓓. 控制系统数字仿真.北京:北京理工大学出版社,1998. 9 薛定宇. 反馈控制系统设计与分析——MATLAB语言应用.北京:清华大学出版社,2000 10.张志涌.精通MATLAB6.5版. 北京:北京航空航天大学出版社,2003

25

第五章 参考文献

1 GB3179-82科学技术期刊编排规则

2 GB7713-87科学技术报告、学位论文和学术论文的编写格式 3 GB6447-86文摘编写规则

4 GB1.2-88 国家标准的文字编写规则

5 张平官.图书编著译参考手册.上海:同济大学山版社,1993.218~306 6 庞家驹.科技书籍编辑学教程.沈阳:辽宁教育出版社,1996.205~230 7胡寿松. 自动控制原理. 北京: 科学出版社,2001年2月. 8 徐家蓓. 控制系统数字仿真.北京:北京理工大学出版社,1998. 9 薛定宇. 反馈控制系统设计与分析——MATLAB语言应用.北京:清华大学出版社,2000 10.张志涌.精通MATLAB6.5版. 北京:北京航空航天大学出版社,2003

25

本文来源:https://www.bwwdw.com/article/7y4g.html

Top