实验报告计算机仿真2011秋季.doc

上传人:rrsccc 文档编号:9241658 上传时间:2021-02-11 格式:DOC 页数:17 大小:489.50KB
返回 下载 相关 举报
实验报告计算机仿真2011秋季.doc_第1页
第1页 / 共17页
实验报告计算机仿真2011秋季.doc_第2页
第2页 / 共17页
实验报告计算机仿真2011秋季.doc_第3页
第3页 / 共17页
实验报告计算机仿真2011秋季.doc_第4页
第4页 / 共17页
实验报告计算机仿真2011秋季.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《实验报告计算机仿真2011秋季.doc》由会员分享,可在线阅读,更多相关《实验报告计算机仿真2011秋季.doc(17页珍藏版)》请在三一文库上搜索。

1、计算机仿真课程实验指导 供生物医学工程专业本科生使用计算机仿真课程实验指导河北工业大学电气与自动化学院生物医学工程专业2011年秋季目 录实验项目一:MATLAB数值计算3实验项目二:MATLAB数据的可视化6实验项目三:动态电路的仿真9实验项目四:模拟电路的仿真10实验项目五:组合逻辑电路仿真12实验项目六:信源编码和量化14实验项目一:MATLAB数值计算实验的目的和任务:学习使用MATLAB常用命令进行数组和矩阵等数值计算实验内容:1 要求在闭区间上产生具有10个等距采样点的一维数组。试用两种不同的指令实现。(参考提示:用冒号或linspace命令)A = 0 0.6981 1.3963

2、 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851 6.2832A =0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851 6.28322 已知矩阵,运行指令B1=A.(0.5), B2=A(0.5), 可以观察到不同运算方法所得结果不同。(1)请分别写出根据B1, B2恢复原矩阵A的程序。A = 1 2 3 4 B1=A.(0.5)B1 = 1.0000 1.4142 1.7321 2.0000 B2=A(0.5)B2 = 0.5537 + 0.4644i 0.8070 - 0.2124i 1.2

3、104 - 0.3186i 1.7641 + 0.1458i A1=B1.(2)A1 = 1.0000 2.0000 3.0000 4.0000 A2=B2(2)A2 = 1.0000 + 0.0000i 2.0000 - 0.0000i 3.0000 + 0.0000i 4.0000 (2)用指令检验所得的两个恢复矩阵是否相等。3 先运行clear,format long,rand(state,1),A=rand(3,3),然后根据A写出两个矩阵:一个对角阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同。clear,format long,r

4、and(state,1),A=rand(3,3)A = 0.95278214965662 0.59815852417219 0.83681960067634 0.70406216677500 0.84074319811307 0.51870305972492 0.95387747359223 0.44281884223513 0.02220977857260命令为:4 下面有一段程序,企图用来解决如下计算任务:有矩阵,当依次取10, 9, 8, 7, 6, 5, 4, 3, 2, 1时,计算矩阵“各列元素的和”,并把此求和结果存放为矩阵Sa的第k行。例如时,A阵为,此时它各列元素 的和是一个行

5、数组,并把它保存为Sa的第3行。问题:该段程序的计算结果对吗?假如计算结果不正确,请指出错误发生的根源,并改正之。原程序为:for k=10:-1:1A=reshape(1:10*k,k,10);Sa(k,:)=sum(A);endSa;修改源程序:(提示,使用help sum,参考关于sum函数的英文说明,注意sum是何时是按照列来求和的)for k=10:-1:1A=reshape(1:10*k,k,10);Sa(k,:)=sum(A,1);endSa;5 由指令rand(state,0),A=rand(4,6)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标

6、”和“单下标”。(请参考find指令的用法,利用help find,注:命令(state,0) 为resets the generator to its initial state.重新恢复初始状态,刚运行matlab时候的状态,更详细的rand 用法请参考help rand)6 求解一元七次方程1.25x7+5.66x6+0.71x4+0.68x3+6.21x+50150的根。(使用root指令)命令为:7.运行如下指令:(请参考教材上符号计算那一章例2.1-3)syms a b x X Yk=sym(3);z=sym(c*sqrt(delta)+y*sin(theta)EXPR=a*z*X

7、+(b*x2+k)*Y在表达式EXPR中,确定1个、2个和3个自由符号变量的命令分别为:找出EXPR中的全部的自由符号变量的命令为:8.请编写MATLAB指令,化简。(请参考教材上符号计算那一章例2.2-2)9.请编写MATLAB指令求。(请参考教材上符号计算那一章例2.3-1)10. 请编写MATLAB指令求。(请参考例2.3-9)11. 产生5阶随机方阵A,其元素为10,90区间的随机整数,然后判断A的元素是否能被3整除.(根据参考答案,写出自己的程序)参考答案:(1)生成5阶随机方阵A A=fix(90-10+1)*rand(5)+10) (2) 判断A的元素是否可以被3整除。 P=re

8、m(A,3)=0其中,fix为朝零方向舍入函数,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,P是进行等于(=)比较的结果矩阵。12. 已知矩阵 1 2 0X 2 5 -1 4 10 -1 计算其特征值V和特征向量D,并验证XV=VD。(提示用eig函数)(根据参考答案,写出自己的程序)(参考V,D=eig(A):求A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量)13. 用求特征值的方法解方程,3x5-7x4+5x2+2x-18=0。(根据参考答案,写出自己的程序)参考答案:命令如下: p=3 -7 0 5 2 -18;A=compan(

9、p) %p的伴随矩阵x1=eig(A) %求A的特征值x2=roots(p) %直接求多项式p的零点 即 方程p(x)=0的解14、求方程组的解(1) x1+2x2=8 2x1+3x2=13(2) x1+2x2=1 2x1+3x2=2 3x1+4x2=3 (3) x1+2x2+3x3=1 2x1+3x2+4x3=2实验项目二:MATLAB数据的可视化实验的目的和任务:利用MATLAB常用命令进行符号计算和绘图,练习二维图形和三维图形的绘制、符号计算实验内容:1.三维曲线绘图。本例演示:三维曲线的参数方程;线型、点形和图例。t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=

10、cos(2*t);plot3(x,y,z,b-,x,y,z,bd)view(-82,58),box onxlabel(x),ylabel(y),zlabel(z)legend(链,宝石) 2. 用曲面图表现函数。3. 三种浓淡处理方式比较。clfx=-4:4;y=x;X,Y=meshgrid(x,y);Z=X.2+Y.2;surf(X,Y,Z)colormap(jet)subplot(1,3,1),surf(Z),axis offsubplot(1,3,2),surf(Z),axis off,shading flatsubplot(1,3,3),surf(Z),axis off,shading

11、 interpset(gcf,Color,w)4. 灯光、照明、材质指令所表现的图形。clf;X,Y,Z=sphere(40);colormap(jet)%subplot(1,2,1),surf(X,Y,Z),axis equal off,shading interp%light (position,0 -10 1.5,style,infinite)%lighting phong%material shiny%subplot(1,2,2),surf(X,Y,Z,-Z),axis equal off,shading flat%light;lighting flat%light(position,

12、-1,-1,-2,color,y)%light(position,-1,0.5,1,style,local,color,w)%set(gcf,Color,w)5. 演示:如何利用“非数”NaN,对图形进行镂空处理。P=peaks(30);P(18:20,9:15)=NaN;surfc(P);colormap(hot)light(position,50,-10,5)material(0.9,0.9,0.6,15,0.4)grid off,box on 6. 用图形表示连续调制波形 及其包络线。7. 通过绘制二阶系统阶跃响应,综合演示图形标识。本例比较综合,涉及的指令较广。clf;t=6*pi*(

13、0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);plot(t,y,r-,LineWidth,3)%hold ontt=t(find(abs(y-1)0.05);ts=max(tt);%plot(ts,0.95,bo,MarkerSize,10)%hold offaxis(-inf,6*pi,0.6,inf)set(gca,Xtick,2*pi,4*pi,6*pi,Ytick,0.95,1,1.05,max(y)%set(gca,XtickLabel,2*pi;4*pi;6*pi)%set(gca,YtickLabel,0.95;1;1.05;max(y)%grid

14、 ontext(13.5,1.2,fontsize12alpha=0.3)%text(13.5,1.1,fontsize12omega=0.7)%cell_string1=fontsize12uparrow;%cell_string2=fontsize16 fontname隶书镇定时间;cell_string3=fontsize6 ;cell_string4=fontsize14rmt_s = num2str(ts);%text(ts,0.85,cell_string,Color,b,HorizontalAlignment,Center)%title(fontsize14it y = 1 -

15、e -alpha tcosomegat)% xlabel(fontsize14 bft rightarrow)ylabel(fontsize14 bfy rightarrow)% 8. 画出函数和积分在区间上的曲线。 实验要求:其中演示实验要求根据现有程序,进行适当的修改,并给出仿真结果。实验项目三:动态电路的仿真 实验的目的和任务:练习Simulink模型文件的操作,学习使用模型文件求解简单的问题。实验内容:1、 练习Simulink的基本操作:模型文件的操作、模块的操作(模块的选定、大小、方向、位置的调整、删除、模块名的操作)、信号线的操作(连接、曲折、移动、删除,标签及其传递)。2、 上

16、机仿真实现以下问题:一因果系统可由微分方程:描述,且输入,系统初始状态为零,求取系统响应。一种方法即可。3、 上机仿真实现以下问题:一离散系统可由差分方程:描述,f(t)是输入控制信号,有:,求系统的响应。实验要求:1、 先练习Simulink的基本操作。2、 对于内容2,可以选择基本的积分模块来建立模型,进行仿真;也可以采用传递函数模块进行仿真;还可以采用状态空间模块建立模型。进行仿真。情根据自身具体情况,选择至少一种方法,求出系统的响应。3、 要求最终给出仿真的结果。并对结果进行分析。实验项目四:模拟电路的仿真实验的目的和任务:编写M文件或Simulink模型文件实现模拟电路的仿真 实验内

17、容:1、 上机仿真实现例4-1, 如图:所示电路,R=5,Ra=25,Rb=100,Rc125,Rd40,Re37.5,求图中V40V直流电压源的输出电流。2、 上机仿真实现如下问题:。如图所示的电路,开关置于a点已有相当一段时间之后,突然将开关切换到b点,求出Vc(t)和i(t)的波形图。3、 上机仿真实现如下问题:已知:C10.5F,R2R32,L41H,Us10cost,Is(t)5cos2t。求b d两点之间的电压,要求先建立电路模型,然后利用MATLAB的M语言编程。4、 上机仿真实现二极管双向限幅电路的仿真。其中V3sint,R2,求a b两端的电压输出波形。实验要求:1、 对于内

18、容1,要求采用编写M文件的方法和Simulink模型文件两种方法实现。2、 通过M文件进行仿真,先分析仿真对象,确定仿真思路,建立仿真模型,根据模型写出仿真程序,运行后得出仿真结果。3、 利用Simulink仿真模型进行仿真,要正确设置仿真参数。4、 M文件要列出全部程序代码,并给出仿真结果。5、 用模型文件仿真,要给出所用模型,得出仿真结果。实验项目五:组合逻辑电路仿真实验的目的和任务:组合逻辑电路仿真、利用Simulink模型文件实现编码器或实现组合逻辑电路的仿真。实验内容:1. 利用Simulink模块搭建一个3位二进制编码器的仿真模型。已知8线-3线二进制编码的真值表,利用Simuli

19、nk搭建仿真模型,实现对8线-3线译码器的仿真。真值表X0X1X2X3X4X5X6X7Z2Z1Z010000000000010000000010010000001000010000011000010001000000010010000000010111000000011112. 利用Simulink模块搭建一个3线-8线译码器的仿真模型。已知3线-8线二进制译码器的真值表,利用Simulink搭建仿真模型,实现对3线-8线译码器的仿真。要求根据真值表写出逻辑表达式,并说明所应用的脉冲序列发生器的参数。三个输入端分别为:X2,X1,X0,8个输出端分别为:Z0-Z7。X2X1X0Z0Z1Z2Z3

20、Z4Z5Z6Z700010000000001010000000100010000001100010000100000010001010000010011000000010111000000013. 利用Simulink模块搭建一个4线-16线译码器的仿真模型。4. 利用Simulink模块搭建一个4路数据选择器的仿真模型。创建具有使能端的3线-8线译码器:加入三个使能端;建立3线-8线译码器子系统;封装3线8线子系统;自建用户模块库;4线-6线译码器的搭建。结合li51v3.mdl分析。实验要求:要求根据真值表写出逻辑表达式,列出所需的模块,并连接各个模块。最终给出仿真结果。实验项目六:信源编

21、码和量化实验的目的和任务:使用信源函数产生随机序列、对信源进行量化、学习随机信号序列的产生方法、信源的均匀量化实验内容:1. 利用randint函数产生随即信号序列。3行5列每个元素的取值大于-4而小于7的整数。2. 利用randsrc函数产生210的矩阵,其中元素的取值为-3,-1,1,3四种可能,并且每种取值的概率均为25%。3. 利用函数quantiz对信源序列3 34 84 40 23进行均匀量化,量化区间以10为间隔,小于等于10量化为10,大于10且小于20时取20,大于90一致取为100。4. 将模拟信源ssint(0t2),先以0.2为间隔,在1和1之间进行均匀量化。5. 将模拟信源ssint(0t2),先以0.1间隔,在1和1之间进行均匀量化;再设计一个Lloyd-Max最佳量化器对该序列进行量化,并比较两种量化方式的性能。要求写出MATLAB仿真的源代码。6.练习简单的控制系统的计算机仿真。(选作)要求:(1)将其离散化处理;(2)采用零阶保持器离散化,采样周期T=0.2;(3) 改变T=0.4再次离散;(4)连续化.实验要求:1. 根据实验内容的要求,调用MATLAB信源函数或者量化器进行信源编码和量化。2. 内容6为选作内容。3. 要求给出仿真的结果,并对结果进行简要的分析。17

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1