1、计算机仿真技术实验指导书主 编 牛 勇审 核 牛 勇校 对 杨 艺北方民族大学电气信息工程学院二八年九月前 言计算机仿真技术课程的教学内容为MATLAB软件的基本编程与应用操作,由于该软件功能太多,使用范围和涉及的应用领域较广,是一门实用性很强的专业技术课程,要使学生学习好本门课,除在课堂上做基本应用方法的学习外,还必须有针对性的学习与专业理论知识相关的应用方法,由于该课程的特殊性,要求学生边学习边上机操作和练习,通过具体的专业问题来掌握和熟练该软件的基本使用方法,所以上机实验是必不可少的一个掌握软件操作方法的重要学习环节。MATLAB软件是一种进行科学与工程计算的交互式程序语言,能够方便地进
2、行矩阵运算及控制和信息处理领域的分析计算,它是用于自动控制系统分析设计、系统辨识和信号处理的仿真工具。为了使自动化专业与电气工程与自动化专业的学生更好的掌握计算机仿真技术,根据教学要求,我们特编写了计算机仿真技术实验指导书,与理论课程的教学配套使用。根据我校计算机仿真技术课程教学大纲的要求,在学生学习完相关课程并对所学的基本知识有了初步的了解后,再经过实验训练,掌握所学理论的实际应用方法,为今后从事自动控制领域的相关工作打下扎实的基础。本实验指导书是根据学校教学大纲要求掌握的内容编写的,有实验项目十个,任课老师可根据各专业的教学大纲以及教学计划的安排,选做部分或全部的实验项目。本实验指导书可供
3、自动化专业和电气工程与自动化专业的学生使用。本实验指导书在编写过程中,由于水平有限,不足与失误在所难免,将在使用中不断进行补充与修改,更希望得到宝贵意见和建议。 编者 2007.7 实验一 Matlab环境语法及数学运算(验证性实验)一、实验目的1、掌握 Matlab 软件使用的基本方法;2、熟悉 Matlab 的数据表示、基本运算方法;3、熟悉 Matlab 绘图命令及基本绘图控制。二、实验仪器与软件 1. PC机 1台 2. MATLAB7.0环境 三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。MATLAB有3种窗口,即:命令窗口(The Comman
4、d Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。1命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。用户可以在提示符“”后面输入交互的命令,这些命令就立即被执行。在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。在命令窗口中输入该文件名,这一连串命令就被执行了。因为这样的文件都是以“.m”为后缀,所以称为m-文件。2m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑
5、窗口来产生新的m-文件,或者编辑已经存在的m-文件。在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。四、实验内容:1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;2、矩阵运算(1)矩阵的乘法 已知 A=1 2;3 4; B=5 5;7 8; 求 A2*B(2)矩阵除法 已知 A=1 2 3;4 5 6;7 8 9; B=1 0 0;0 2 0;0 0 3; AB,A/B(3)矩阵的转置及共轭转置 已知 A=5+i,2-i
6、,1;6*i,4,9-i; 求 A., A(4)使用冒号选出指定元素已知: A=1 2 3;4 5 6;7 8 9; 求 A 中第 3 列前 2 个元素;A 中所有列第 2,3 行的元素;(5)方括号 用 magic 函数生成一个 4 阶魔术矩阵,删除该矩阵的第四列3、多项式(1)求多项式 p(x) = x3 + 2x+ 4的根(2)已知 A=1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4 , 求矩阵 A 的特征多项式; 求特征多项式中未知数为 20 时的值; 把矩阵 A 作为未知数代入到多项式中;4、 基本绘图命令(1)绘制余弦曲线 y=cos(t),t0,2(2
7、)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t0,25、基本绘图控制 绘制0,4区间上的 x1=10sint 曲线,并要求: (1)线形为点划线、颜色为红色、数据点标记为加号; (2)坐标轴控制:显示范围、刻度线、比例、网络线 (3)标注控制:坐标轴名称、标题、相应文本;五、实验要求 利用所学知识,完成上述各项实验内容,并将实验过程和实验步骤和结果写在报告中。 实验二 MATLAB数值运算与绘图(验证性实验)一、实验目的 l. 熟悉Matlab中各类数据,尤其是矩阵的定义、赋值和运用。2. 了解Matlab的矩阵分析函数以及求线性方程组的数值
8、解;3熟悉多项式运算函数、数值插值。二、实验仪器与软件 1. PC机 1台2. MATLAB7.0环境 三、实验原理1.创建矩阵的方法a.直接输入法规则:矩阵元素必须用 括住;矩阵元素必须用逗号或空格分隔;在 内矩阵的行与行之间必须用分号分隔。逗号和分号的作用:逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。分号如果出现在指令后,屏幕上将不显示结果。b.用matlab函数创建矩阵:空阵 matlab允许输入空阵,当一项操作无结果时,返回空阵;rand 随机矩阵;eye 单位矩阵;zeros 全部元素都为0的矩阵;ones 全部元素都为1的矩阵c.矩阵的修改:可用键找到所要
9、修改的矩阵,用键移动到要修改的矩阵元素上即可修改;指令修改:可以用A(*,*)= * 来修改。2.矩阵运算a.矩阵加、减(,)运算规则:(1)相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。(2)允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。b. 矩阵乘(.*,./,.)运算规则:A矩阵的列数必须等于B矩阵的行数标量可与任何矩阵相乘。c.矩阵乘方 an,ap,paa p a 自乘p次幂,对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量,ap使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,ap则无意义。d.多项式运算 matlab语言把多项式
10、表达成一个行向量,该向量中的元素是按多项式降幂排列的。 f(x)=anxn+an-1xn-1+loa0可用行向量 p=an an-1 a1 +a0表示;poly 产生特征多项式系数向量e.代数方程组求解matlab中有两种除运算左除和右除。四、实验内容1. 输入下列向量(矩阵) g = 1 2 3 4;h = 4 3 2 1; 2. 分别执行以下数组点运算 s1 = g + h, s2 = g.*h, s3 = g.h, s4 = g.2, s5 = 2.h3. 输入下列特殊矩阵A= A=eye(10)A=ones(5,10) A=rand(10,15) A=randn(5,10) A=zer
11、os(5,10)4输入下列矩阵及矩阵函数 A=2 0 1;1 3 2; B=1 7 1;4 2 3;2 0 1; M = A*B % 矩阵A与B按矩阵运算相乘 det_B = det(B) % 矩阵A的行列式 rank_A = rank(A) % 矩阵A的秩 inv_B = inv(B) % 矩阵B的逆矩阵 V,D = eig(B) % 矩阵B的特征值矩阵V与特征向量构成的矩阵D X = A/B % A/B = A*B-1,即XB=A,求X Y = BA % BA = B-1*A,即BY=A,求Y5多项式运算 p=1 2 0 -5 6% 表示多项式 rr=roots(p)% 求多项式p的根 p
12、p=poly(rr)% 由根的列向量求多项式系数 s=0 0 1 2 3% 表示多项式 c=conv(p,s)% 多项式乘积 d=polyder(p)% 多项式微分 x=-1:0.1:2; y=polyval(p,x)% 计算多项式的值6. 有理多项式: n=conv(10,1 3)% 定义分子多项式 d=conv(1 1,1 1 3)% 定义分母多项式 r,p,k=residue(n,d)% 进行部分分式展开 p1=1-p(1),p2=1-p2% 定义两个极点多项式p1(s)=s-p(1), p2(s)=s-p(2) den=conv(p1,p2)% 求分母多项式den=p1(s)*p2(s
13、) num=conv(r1,p2)+conv(r2,p1)% 求分子多项式num,den=residue(r,p,k)% 根据r,p,k的值求有理多项式7函数插值运算(1)线形样条插值x=0:10 y=sin(x) x0= 3.4 4.7 6.5 8.2 y0=interp1(x,y,x0)% 线形插值 x1=0:0.1:10 y1=sin(x1) plot(x1,y1,r:,x,y,b*,x0,y0,g.)% 插值比较五、实验要求 利用所学知识,完成上述1至7项实验内容,并将实验结果写在实验报告上。六、实验思考题1.矩阵建立与有哪几种方法?2.矩阵的加、减、乘、除运算规则是什么?实验三 Ma
14、tlab 基本编程方法(设计性实验)一、实验目的1、掌握 Matlab 软件使用的基本方法;2、熟悉 Matlab 程序设计的基本方法二、实验仪器与软件 1. PC机 1台 2. MATLAB7.0环境 三、实验原理根据MATLAB基本数值计算、数据分析和图形函数的功能,按程序设计数学要求完成对象计算的MATLAB程序。四、实验内容1、编写命令文件:计算 1+2+n2000 时的最大 n 值;2、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。3、如果想对一个变量 x 自动赋值。当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1; 当从
15、键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。五、实验要求 利用所学知识,完成上述3项实验内容,并将实验用程序和结果写在实验报告上。六、实验思考题1.用FOR和WHILE语句有何要求?2.用户数据的输入有那几种函数?实验四 控制系统仿真(一)(综合性实验)一、实验目的1、掌握如何使用 Matlab 进行系统的时域分析2、掌握如何使用 Matlab 进行系统的频域分析3、掌握如何使用 Matlab 进行系统的根轨迹分析二、实验仪器与软件 1. PC机 1台2. MATLAB7.0环境 三、实验原理根据Matlab控制系统常用函数编写出仿真软件,也可以根据SIMUL
16、INK完成实验。四、实验内容1、时域分析(1)根据下面传递函数模型:绘制其单位阶跃响应曲线并从图上读取最大超调量,绘制系统的单位脉冲响应、零输入响应曲线。 (2)典型二阶系统传递函数为: 当=0.7,n 取 2、4、6、8、10、12 的单位阶跃响应。(3)典型二阶系统传递函数为: 当n =6,取 0.2、0.4、0.6、0.8、1.0、1.5、2.0 的单位阶跃响应。2、频域分析(1)典型二阶系统传递函数为: 当=0.7,n 取 2、4、6、8、10、12 的伯德图 (2)典型二阶系统传递函数为: 当n =6,取 0.2、0.4、0.6、0.8、1.0、1.5、2.0 的伯德图。3、根轨迹分
17、析 根据下面负反馈系统的开环传递函数,绘制系统根轨迹,并分析系统稳定的 K 值范围。五、实验要求 利用所学知识,完成上述各项实验内容,并将实验用程序和结果写在实验报告上。如果有图,则将图画在实验报告上。六、实验思考题1.二维图形函数有何要求?2.如果要求实验中所用数据由用户从键盘输入,根据如何编写?实验五 控制系统仿真(二)(综合性实验)一、实验目的1、掌握如何使用 Matlab 进行系统的稳定性分析2、掌握如何使用 Matlab 进行系统的能观测性、能控性分析3、掌握如何使用 Matlab 进行离散系统分析二、实验仪器与软件1. PC机 1台2. MATLAB7.0环境 三、实验原理根据Ma
18、tlab控制系统常用函数编写出仿真软件,也可以根据SIMULINK完成实验。四、实验内容1、系统稳定性分析(1)代数法稳定性判据:(用求分母多项式的根和 routh 函数两种方法) 已知系统的开环传递函数为: 试对系统闭环判别其稳定性。 (2)根轨迹法判断系统稳定性: 已知一个单位负反馈系统开环传递函数为: 试在系统的闭环根轨迹图上选择一点,求出该点的增益及其系统的闭环极点位置,并判断在该点系统闭环的稳定性。(3)Bode 图法判断系统稳定性: 已知两个单位负反馈系统的开环传递函数分别为: 用 Bode 图法判断系统闭环的稳定性。2、系统能控性、能观性分析已知连续系统的传递函数模型:当分别取1
19、,0,1 时,判别系统的能控性与能观性3、已知离散系统传递函数: 自动选择频率范围,绘制出系统的频率响应曲线,包括 Bode 图和 Nyquist 图,并求出幅值裕度和相角裕度。五、实验要求 利用所学知识,完成上述各项实验内容,并将实验用程序和结果写在实验报告上。如果有图,则将图画在实验报告上。六、实验思考题Bode 图函数在编程中有何要求?实验六 SIMULINK仿真(设计性实验)一、实验目的 学习使用 SIMULINK 进行系统仿真的方法二、实验仪器与软件 1. PC机 1台2. MATLAB7.0环境三、实验原理1、Simulink 的基本操作 (1)运行 Simulink (2)常用的
20、标准模块 (3)模块的操作2、系统仿真及参数设置 (1)算法设置(Solver) (2)工作空间设置(Workspace I/O)四、实验内容(1)已知系统结构图如下 图含饱和非线性环节系统方框图 简介已知输入为信号电平从 16,非线性环节的上下限为1,取步长 h=0.1,仿真时间为10 秒,试绘制系统的响应曲线。(2)PID 控制系统的结构如图所示,试设计串联补偿器,使系统速度稳态误差小于 10%,相角裕量 PM=45,并对系统进行仿真。五、实验要求利用所学知识,熟悉实验内容中 1 到 2 的相应内容,建立个实验内容所需的仿真结构模块,给出各模块参数设置要求,并写在预习报告上。实验七 三相桥
21、式全控整流仿真实验(设计性实验)一、实验目的1、了解电力电子电路在MATLAB/SIMULINK下的建模方法。2、了解电力电子电路在MATLAB/SIMULINK下的仿真方法。3、掌握电力电子电路在MATLAB/SIMULINK下的模块参数的设置要求。二、实验仪器与软件 1. PC机 1台2. MATLAB7.0环境三、实验原理根据Simulink 仿真模型的建立原理和三相桥式全控整流电路的工作原理,建立仿真结构并按要求对标准模块设置参数, 1、仿真电路要求:给定三相交流电源的相电压有效值为100V、频率为50Hz,根据三相桥式全控整流电路在SIMULINK下建立仿真模型,要求能测量出线电压,
22、相电流,并用示波器观察改变触发角后的波形变化。2、负载参数设置为:R=45、L=1H、C=0.01uf 无电容时C=inf,无电感时L=0H3、各所需模块按要求实验者自己选择注意:可控硅桥选用通用三相桥模块,参数为默认。同步脉冲触发器选用6脉冲触发器,参数的设置按给定的要求设置。4、算法选用ode23tb,仿真时间5S,三、实验内容1、三相桥式全控整流电路模型的建立。2、电压、电流的测量方法、波形的观察方法。3、分别将负载改变为(1)纯电阻负载,(2)电阻电容串联负载,(3)电阻电容电感串联负载,观察改变负载特性后的输出波形和电流的连续与断续情况,。四、实验步骤 1、在电阻性负载R=45、L=
23、0H、C=inf 的仿真2、在阻感性负载R=45、L=1H、C=inf 的仿真3、在阻感容性负载R=45、L=1H、C=1uf 的仿真 4、改变触发角,观察200,300,450,600,900,1200,1500仿真结果五、实验报告按规定的实验报告要求写出实验报告,报告的内容有实验目的、建模名称,参数设置,实验电路,仿真模型结构图、仿真结果波形,结果分析。实验八 PWM脉宽调制电路的仿真实验(设计性实验)一、实验目的1、了解电力电子电路在MATLAB/SIMULINK下的建模方法。2、了解电力电子电路在MATLAB/SIMULINK下的仿真方法。3、掌握电力电子电路在MATLAB/SIMUL
24、INK下的模块参数的设置要求。二、实验仪器与软件 1. PC机 1台2. MATLAB7.0环境三、实验原理根据Simulink 仿真模型的建立原理和PWM电路的工作原理,建立仿真结构并按要求对标准模块设置参数, 1、仿真电路要求:给定直流电源的电压值为100V,根据PWM电路的工作原理在SIMULINK下建立仿真方针模型,要求能测量出线电压,相电流,并用示波器观察改变触发角后的波形变化。2、负载参数设置为:R=45、L=1H、C=0.01uf 无电容时C=inf,无电感时L=0H3、各所需模块按要求实验者自己选择4、算法选用ode23tb,仿真时间5S,三、实验内容1、H型PWM电路模型的建
25、立。2、电压、电流的测量方法、波形的观察方法。3、分别将负载改变为(1)纯电阻负载,(2)电阻电容串联负载,(3)电阻电容电感串联负载,观察改变负载特性后的输出波形和电流的连续与断续情况,。四、实验步骤 1、在电阻性负载R=45、L=0H、C=inf 的仿真2、在阻感性负载R=45、L=1H、C=inf 的仿真3、在阻感容性负载R=45、L=1H、C=1uf 的仿真 4、改变PWM工作频率,观察1000HZ,2000HZ,5000HZ仿真结果五、实验报告按规定的实验报告要求写出实验报告,报告的内容有实验目的、建模名称,参数设置,实验电路,仿真模型结构图、仿真结果波形,结果分析。实验九 单闭环直
26、流调速系统的MATLAB仿真(设计性实验)一、实验目的 1、了解Simulink下物理实体复杂系统的仿真方法。2、掌握物理实体下的建模方法和参数设置要求3、进一步掌握闭环反馈控制系统的基本特性。二、实验仪器与软件 1. PC机 1台2. MATLAB7.0环境三、实验原理系统的结构原理框图如下所示,在仿真时可先选取不同的给定。+-AGTMTG+-+-+-Utgn+-+UnUn U*nUcUPE+-IdUd 三、实验内容 1、直流电机单闭环转速负反馈控制系统原理图如下图所示,根据下图中各物理器件建立SIMULINK仿真模块,其中A为比例放大器,GT为触发器,UPE为可控规桥。 2、电机参数的设置
27、:电阻:1.5 0.012,励磁240v 1.8h。互感1.8h, 总转动惯量1或其它值(自己可改变后观察),其它参数设置为0。3、上述参数的计算方法与电机给定额定值之间的计算关系。4、改变给定, 观察输出响应的变化。5、突加扰动,观察输出响应的变化和系统抗扰动性能。6、用传递函数方程仿真。四、实验步骤 1、按上述结构和参数输入系统模型。2、设定输入为单位阶跃信号,用scope观察系统输出响应。3、将改变给定,实验报告五、实验报告按规定的实验报告要求写出实验报告,报告的内容有实验目的、建模名称,参数设置,实验电路,仿真模型结构图、仿真结果波形,结果分析。实验十 双闭环直流调速系统的MATLAB
28、仿真(设计性实验)一、实验目的 1、了解Simulink下数学模型的仿真方法。2、掌握数学模型的仿真建模方法和仿真参数设置要求3、进一步掌握双闭环反馈控制系统的基本特性。二、实验原理 双闭环控制系统的结构原理框图如下所示:a 1/CeU*nnUd0Un+-ASR1/R Tl s+1R TmsKsTss+1ACRb U*iUi-EIdIdL负载扰动要求:在实验前需下根据双闭环控制原理计算出各环的PI参数,写出正确的系统控制数学模型。三、实验内容1、直流电机双闭环控制系统SIMULINK仿真模块建立。2、仿真参数的设置。3、各控制点的波形分析。4、改变给定, 观察输出响应的变化。5、用传递函数方程仿真。四、实验步骤1、按上述结构和参数建立仿真模型。2、设定输入为单位阶跃信号,用scope观察系统输出响应。3、将改变给定,其余参数不变,观察系统输出响应。4、突加负载,观察系统的抗扰性能。改变开环放大系数,观察系统的稳定性能。5用建立的传递函数方程仿真。五、实验报告按规定的实验报告要求写出实验报告,报告的内容有实验目的、建模名称,参数设置,实验电路,仿真模型结构图、仿真结果波形,结果分析。