计算机仿真实验教案.doc
《计算机仿真实验教案.doc》由会员分享,可在线阅读,更多相关《计算机仿真实验教案.doc(25页珍藏版)》请在冰点文库上搜索。
25
P
湖南工学院教案用纸
实验一MATLAB基本操作(验证性实验)
一、本次课主要内容
1.熟悉MATLAB基本的操作界面。
2.掌握MATLAB中变量、数组、向量和矩阵等对象的生成和基本基本运算方法。
二、教学目的与要求
1.熟悉MATLAB基本的操作界面。
2.掌握MATLAB中变量、数组、向量和矩阵等对象的生成和基本基本运算方法。
三、教学重点难点
MATLAB中变量、数组、向量和矩阵等对象的生成和基本基本运算方法。
四、教学方法和手段
课堂讲授、提问、讨论;使用多媒体教学方式。
五、作业与习题布置
思考题
实验一MATLAB基本操作(验证性实验)
一、实验目的
1.熟悉MATLAB基本的操作界面。
2.掌握MATLAB中变量、数组、向量和矩阵等对象的生成和基本运算方法。
3.掌握MATLAB中绘图的基本操作。
4.掌握MATLAB中的常用帮助命令使用方法
二、实验原理
1.常见数学函数
表1-1常见数学函数
2、系统的在线帮助
(1)help命令:
1)当不知系统有何帮助内容时,可直接输入help以寻求帮助:
>>help(回车)
2)当想了解某一主题的内容时,如输入:
>>helpsyntax(了解Matlab的语法规定)
3)当想了解某一具体的函数或命令的帮助信息时,如输入:
>>helpsqrt(了解函数sqrt的相关信息)
(2)lookfor命令
现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:
>>lookforline(查找与直线、线性问题有关的函数)
3.常量与变量
系统的变量命名规则:
变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。
此外,系统内部预先定义了几个有特殊意义和用途的变量,见表1-2:
表1-2特殊的变量、常量
(1)数值型向量(矩阵)的输入
1)任何矩阵(向量),可以直接按行方式输入每个元素:
同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。
所有元素处于一方括号[]内。
2)系统中提供了多个命令用于输入特殊的矩阵:
表1-3特殊矩阵函数
注:
上面函数的具体用法,可以用帮助命令help得到
(2)符号向量(矩阵)的输入
1)用函数sym定义符号矩阵:
函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制。
只需将方括号置于单引号中。
2)用函数syms定义符号矩阵
先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。
4.数组(矩阵)的点运算
运算符:
+(加)、-(减)、./(右除)、.\(左除)、.^(乘方),
5.矩阵的运算
运算符:
+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)等;
常用函数:
det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref(化矩阵为行最简形)
6.平面绘图
(1)MATLAB能绘制非常丰富的平面图形,以下是一些常用的MATLAB绘图函数,以绘制不同平面图元和实现不同的平面图形绘制功能:
表1-4常见绘图命令
(2)MATLAB提供了丰富的绘图点型,线型和颜色如表1-5所示。
表1-5常见的点型,线型和颜色
(3)MATLAB提供了其它的各种二维函数图如表1-6所示。
表1-6其它二维图形函数
三、实验仪器设备与器材
计算机,MATLAB语言环境
四、实验内容与步骤:
1.输入A=[715;256;315],B=[111;222;333],在命令窗口或M文件中执行下列表达式,掌握其含义:
A(2,3)A(:
2)A(3,:
)A(:
1:
2:
3)A(:
3).*B(:
2)A(:
3)*B(2,:
)A*BA.*B
A^2A.^2B/AB./A
2.先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1);
(2);
(3)
;
(4)
3.输入C=1:
2:
20,则C(i)表示什么?
其中i=1,2,3,…,10。
4.练习把y=sin(x)/x,z=cos(x),u=2sin(x),v=sin(x)/cos(x)在[0,2pi]区间内的四个子图分别用不同的颜色、点型和线型绘制在同一个窗口中,并给其中加上纵坐标,标题、图例和网格线。
5.建立一个矩阵,求其行列式值、迹、秩和范数。
6.下面是一个线性方程组:
(1)求方程的解;
(2)将方程右边向量元素改为0.53,再求解,并比较的变化和解的相对变化;
(3)计算系数矩阵A的条件数并分析结论。
五、实验结果(或数据)与分析
1.根据实验内容中第1和3部分实验结果,分析总结矩阵和数组中各元素提取的命令。
2.根据实验内容中第1部分实验结果,分析总结矩阵运算和矩阵的点运算之间的区别。
3.根据实验内容中第2部分实验结果,分析总结MATLAB中基本数学表达式计算的方法。
4.根据实验内容中第4部分实验结果,分析总结MATLAB中二维绘图的基本操作。
5.根据实验内容中第5、6部分实验结果,分析总结MATLAB中矩阵函数运算的基本操作实现和应用。
六、实验总结与思考
1.写明实验目的,实验原理,实验仪器设备和器材,实验内容和步骤,以及对实验结果进行详尽的分析。
2.总结实验中的主要结论、实践技能和心得体会。
3、附上实验过程中所用的程序。
教学后记:
基本操作以及变量数组、向量和矩阵等对象的生成和基本运算方法不熟练。
实验二MATLAB程序设计(设计性实验)
一、本次课主要内容
1.掌握建立和执行M文件的方法。
2.掌握利用if语句实现选择结构的方法。
3.掌握利用switch语句实现多分支选择结构的方法。
4.掌握定义和调用MATLAB函数的方法。
二、教学目的与要求
1.掌握建立和执行M文件的方法。
2.掌握利用if语句实现选择结构的方法。
3.掌握利用switch语句实现多分支选择结构的方法。
4.掌握定义和调用MATLAB函数的方法。
三、教学重点难点
if语句实现选择结构的方法。
switch语句实现多分支选择结构的方法。
定义和调用MATLAB函数的方法。
四、教学方法和手段
课堂讲授、提问、讨论;使用多媒体教学方式。
五、作业与习题布置
思考题
实验二MATLAB程序设计(设计性实验)
一、实验目的
1.掌握建立和执行M文件的方法。
2.掌握利用if语句实现选择结构的方法。
3.掌握利用switch语句实现多分支选择结构的方法。
4.掌握定义和调用MATLAB函数的方法。
二、设计内容
1.求分段函数的值
用if语句实现,分别输出
2.输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。
其中90分~100分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。
要求:
(1)分别用if语句和switch语句实现。
(2)输入百分制后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
3.硅谷公司员工的工资计算方法如下:
(1)工作时数超过120小时者,超过部分加发15%;
(2)工作时数低于60小时者,扣发700元;
(3)其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
4.一个物理系统可用下列方程组表示:
从键盘输入
三、设计要求
1.实验2中要求采用if语句和switch语句分别实现。
2.实验4要求定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文件来实现设计内容。
四、实验仪器设备与器材
计算机,MATLAB语言环境
五、实验结果(或数据)与分析
1.根据实验内容中第1、2、3部分实验过程和结果,分析总结MATLAB中流程控制语句的使用方法。
2.根据实验内容中中第4部分实验过程和结果,分析总结MATLAB中函数文件的创建和调用方法。
六、实验总结与思考
1.写明实验目的,实验原理,实验仪器设备和器材,实验内容和步骤,以及对实验结果进行详尽的分析。
2.总结实验中的主要结论、实践技能和心得体会。
3、附上实验过程中所用的程序。
教学后记:
定义和调用MATLAB函数的方法不熟练。
实验三Simulink基本操作(验证性实验)
一、本次课主要内容
1.熟悉Simulink基本模块(信号发生器,数学模块,示波器)的使用。
2.掌握Simulink仿真参数的设置。
3.熟悉构建Simulink子系统。
4.学习自建模快的封装,帮助文档的编写。
5.掌握MATLAB命令窗口与Simulink的交互。
二、教学目的与要求
1.熟悉Simulink基本模块(信号发生器,数学模块,示波器)的使用。
2.掌握Simulink仿真参数的设置。
3.熟悉构建Simulink子系统。
4.学习自建模快的封装,帮助文档的编写。
5.掌握MATLAB命令窗口与Simulink的交互。
三、教学重点难点
MATLAB命令窗口与Simulink的交互。
四、教学方法和手段
课堂讲授、提问、讨论;使用多媒体教学方式。
五、作业与习题布置
思考题
实验三Simulink基本操作(验证性实验)
一、实验目的
1.熟悉Simulink基本模块(信号发生器,数学模块,示波器)的使用。
2.掌握Simulink仿真参数的设置。
3.熟悉构建Simulink子系统。
4.学习自建模快的封装,帮助文档的编写。
5.掌握MATLAB命令窗口与Simulink的交互。
二、实验原理
1、使用Simulink进行建模和仿真的过程
启动MATLAB之后,在命令窗口中输入命令“Simulink”或单击MATLAB工具栏上的Simulink图标,打开Simulink模块库窗口。
在Simulink模块库窗口中单击菜单项“File|New|Model”,就可以新建一个Simulink模型文件。
利用鼠标单击Simulink基础库中的子库,选取所需模块,将它拖动到新建模型窗口中的适当位置,如果需要对模型模块进行参数设置和修改,只需选中模型文件中的相应模块,单击鼠标右键,弹出快捷菜单,从中选取相应参数进行修改,如图3-1所示。
(a)例1模块图(b)例1模块参数对话框
图3-1例1模块图与参数对话框
点击,即可仿真所建模块,其仿真结果如图3-2所示。
图3-2例1仿真结果
2、MATLAB命令窗口中运行Simulink。
若参数设置为变量,变量可先在MATLAB命令窗口中进行定义,并使用open,sim等命令直接运行信号。
(a)例2变量参数设置对话框(b)例2仿真结果
图3-3例2变量参数设置对话框和仿真结果
然后在命令行提示符下输入
>>a=1;b=1;open('s01.mdl');sim('s01.mdl');可得到例1同样的结果。
3、子系统建立与封装
首先将Simulink模块库中Ports&Subsystems子模块库中的Subsystem模块拖动到新建的模型文件窗口中,双击该Subsystem模块就会打开该子系统,其输入用In模块表示,输出用Out模块表示,一个子系统可以有多个输入、输出。
然后如下图所示建立子系统的内部模块。
(a)顶层模块图(b)子系统模块图
图3-4例3模块图
上例中的子系统模型还存在一些缺点:
子系统中的参数(如增益G)、传递函数系数等是通过MATLAB工作空间传入的,这就破坏了子系统内部的隐藏性质。
对子系统封装以后,它就可以像Simulink模块库所提供的模块一样来使用。
选中上例中子系统模块,改名为Mysubsystem,选择菜单项“Edit|MaskSubsystem”,弹出MaskEditor对话框。
图3-5例3参数设置对话框
在Icon标签下主要是对封装模块的图标进行设置,可以设置图标的边框是否可见、图标是否透明、是否旋转、绘图单位等,还可使用命令来绘制图标,该标签下部给出了绘制图标的语法举例。
在Parameters标签下可以设置子系统的参数,本例中需要设置的参数就是G、A、B、C四个。
参数设置可以采用编辑框(Edit)、弹出列表(Popup)或复选框(Checkbox)形式。
一般情况下,初始化标签可使用默认值。
文档标签的三部分将分别显示在封装模块的参数设置对话框和帮助文档中。
图3-6例3参数设置结果
三、实验仪器设备与器材
计算机,MATLAB语言环境
四、实验内容与步骤
1、通过示波器观察1MHz,幅度为15mV的正弦波和100KHz,幅度为5mV的正弦波相乘的结果。
写出数学表达式。
通过使用三踪示波器同时观察1MHz、100KHz正弦波以及相乘的结果。
注意设置仿真参数和示波器的扫描参数和幅度显示参数。
请调整参数得出下图波形。
图3-7实验1仿真输出参考波形
2、将50Hz,有效值为220V的正弦交流电信号通过全波整流(绝对值)模块,观察输出波形。
图3-8实验2仿真输出参考波形
3、学习构建SIMULINK子系统:
构建一个子系统,使得它具有将输入信号m(t)(如一个100Hz的正弦波)和一个常数C相加后再和一个1000Hz的幅度为A的正弦波相乘的功能。
y(t)=A(m(t)+C)sin(2*pi*f*t)
其中f=1000Hz。
保存为s23.用sim指令在命令空间启动模型进行仿真:
在Matlab命令空间中用语句对参数A,C,f进行设置,并对采用命令open打开,采用sim指令进行仿真。
请给出指令语句。
S=2;C=2;f=1000;open('s23.mdl');sim('s23.mdl')
图3-9实验3仿真输出参考波形
4、对子系统进行封装:
请对3所建立所子系统中S,C,f参数进行封装(Mask),编写参数输入对话框和帮助文档。
并将模块放在一个自己的库中。
五、实验结果(或数据)与分析
1.根据实验内容中第1和2部分实验过程和结果,分析总结Simulink中模块参数和仿真参数的设置方法。
2.根据实验内容中第3和4部分实验过程和结果,分析总结Simulink中子系统的创建和封装操作方法,以及MATLAB和Simulink交互的实现。
六、实验总结与思考
1.写明实验目的,实验原理,实验仪器设备和器材,实验内容和步骤,以及对实验结果进行详尽的分析。
2.总结实验中的主要结论、实践技能和心得体会。
3、附上实验过程中所用的程序。
教学后记:
MATLAB命令窗口与Simulink的交互不熟练。
实验四MATLAB信号处理实验(验证性实验)
一、本次课主要内容
1.掌握MATLAB常用信号处理波形;
2.学习信号序列的各种操作;
3.学习离散傅立叶变换的MATALB相关操作。
二、教学目的与要求
1.掌握MATLAB常用信号处理波形;
2.学习信号序列的各种操作;
3.学习离散傅立叶变换的MATALB相关操作。
三、教学重点难点
MATLAB命令窗口与Simulink的交互。
四、教学方法和手段
课堂讲授、提问、讨论;使用多媒体教学方式。
五、作业与习题布置
思考题
实验四MATLAB信号处理实验(验证性实验)
一、实验目的
1.掌握MATLAB常用信号处理波形;
2.学习信号序列的各种操作;
3.学习离散傅立叶变换的MATALB相关操作。
二、实验原理
1.基本波形的产生。
单位抽样序列x=[1zeros(1,n-1)]
单位阶跃矩阵x=ones(1,N)
实指数序列n=0:
N-1;x=a.^n;
复指数序列n=0:
N-1;x=ex((lu+j*w0)*n);
随机序列rand(1,N);randn(1,N);
方波t=0:
0.1*pi:
6*pi;y=square(t);
正弦波t=0:
0.01*pi:
2*pi;x=sin(2*pi*t);
锯齿波Fs=10000;t=0:
1/Fs:
1.5;x=sawtooth(2*pi*50*t);
基本非周期波形t=0:
1/1000:
2;x=chirp(t,0,1,150);
sinc信号t=linspace(-5,5);x=sinc(t);
pulstran信号t=0:
1/50E3:
10E-3;d=[0:
1/1E3:
10E-3;0.8.^(0:
10)]';
x=pulstran(t,d,'gauspuls',10E3,0.5);
diric信号t=[-4*pi:
0.1/pi:
4*pi];x=diric(t,7);x=diric(t,8);
2.信号叠加:
抽样和:
(n1=1,n2=50,)
抽样积:
(n1=1,n2=50,)
信号能量:
信号功率:
3.有限长序列的离散傅立叶变换对定义:
正变换:
反变换:
信号的傅里叶变换:
y=fft(x);
N点DFT的幅值谱和相位谱:
y=fft(x,N);plot(q,abs(y));plot(q,angle(y));
三、实验仪器设备与器材
计算机,MATLAB语言环境
四、实验内容与步骤
1.产生下列各种波形,并记录结果。
(1)单位抽样序列
(2)单位阶跃矩阵
(3)实指数序列
(4)复指数序列
(5)随机序列
(6)方波
(7)正弦波
(8)锯齿波
(9)基本非周期波形
(10)sinc信号
(11)pulstran信号
(12)diric信号
2.有两信号分别为,,其中,,编程实现此二信号的叠加,并计算它的抽样和、抽样积、信号能量和信号功率。
3.求信号和之和(其中,),并计算和的FFT变换。
4.模拟信号,求N点DFT的幅值谱和相位谱。
五、实验结果(或数据)与分析
1.根据实验内容中第1部分实验过程和结果,分析总结信号处理中常用波形的生成方法。
2.根据实验内容中第2部分实验过程和结果,分析总结信号抽样和、抽样积、信号能量和信号功率的实现。
3.根据实验内容中第3部分实验过程和结果,分析总结信号FFT变换的实现方法。
4.根据实验内容中第4部分实验过程和结果,分析总结信号幅值谱和相位谱的实现方法。
六、实验总结与思考
1.写明实验目的,实验原理,实验仪器设备和器材,实验内容和步骤,以及对实验结果进行详尽的分析。
2.总结实验中的主要结论、实践技能和心得体会。
3、附上实验过程中所用的程序。
教学后记:
信号序列的各种操作不熟练。