




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 报 告课程名称:计算机辅助设计与仿真实验题目: 计算机辅助设计与仿真 专业班级: 学生姓名: 学生学号: 实验时间: 指导教师: 实验一 MATLAB基本操作一、 实验目的1、熟悉MATLAB环境。2、掌握MATLAB矩阵输入、运算以及MATLAB的数值运算功能。3、掌握各种数据的创建访问,扩建,缩减。创建一个2*2元宝叔祖,扩充和缩减二、 实验内容及结果 1、利用help命令,查找plot、stem、clear、clc、who、whos和*、.*等的帮助文件。同时练习helpdesk命令。2、在命令窗口中运行demo命令,运行有关通信、信号处理的演示。3、输入X=1,2,3,Y=4,5,6,计算Z=X.*Y,Z=X.Y,Z=X.Y,Z=X.2,2 .X Y。以及输入D= 1,4,7;8,5,2;3,6,0,计算Z=D3,D.3,Z=3.D,掌握元素运算和矩阵运算的区别。解: X=1 2 3; Y=4 5 6; Z=X.*YZ = 4 10 18 Z=X.YZ = 4.0000 2.5000 2.0000 Z=X.YZ = 1 32 729 Z=X.2Z = 1 4 9 Z=2.X YZ = 2 4 8 16 32 64 D= 1,4,7;8,5,2;3,6,0D = 1 4 7 8 5 2 3 6 0 Z=D3Z = 627 636 510 804 957 516 486 612 441 Z=D.3Z = 1 64 343 512 125 8 27 216 0 Z=3.DZ = 3 81 2187 6561 243 9 27 729 1 4、输入X=-1 0 1,计算Y=X-1,l=length(X),pi*X,X*Y,Y*X,验证矩阵的左乘与右乘不相等,此外,试举例比较size和length的区别。解: X=-1 0 1; Y=X-1Y = -2 -1 0 l=length(X)l = 3 pi*Xans = -3.1416 0 3.1416 X*Yans = 2 Y*Xans= 2 0 -2 1 0 -1 0 0 0 size(X)ans =1 35、 输入A=1,2,3;4,5,6,B=2,4,0;1,3,5,D=1,4,7;8,5,2,;3,6,0 ,计算DA,A/D,掌握矩阵的左除与右除的含义。解: A=1,2,3;4,5,6; B=2,4,0;1,3,5; D=1,4,7;8,5,2,;3,6,0; DAans= -0.0370 0 0.5185 1.0000 -0.1481 0 A/Dans= 0.4074 0.0741 0.0000 0.7407 0.4074 0.0000 6、(1)计算时值。 (2)解:(1) y1=23+(2-0.98)2/(2+1.25)3-5*(2+1/2)y1 = -4.4697 y2=43+(4-0.98)2/(4+1.25)3-5*(2+1/4)y2 = 52.8130(2) cos(pi/3)-sqrt(9-sqrt(2)ans = -2.25427、 请建立一个等比数列,然后由它产生一个对角阵,并储存这个矩阵。调出上面储存的矩阵,并由它产生一个列向量。解: A=1 2 4 8 16A = 1 2 4 8 16 B=diag(A)B = 1 0 0 0 0 0 2 0 0 0 0 0 4 0 0 0 0 0 8 0 0 0 0 0 16 B(:,3)ans = 0 0 4 0 08、 向量的产生,直接输入 利用linspace logspace 及t=m:s:n方式产生,并对所产生的向量进行加减乘除操作,区分向量操作与矩阵的区别。解:直接输入: A=1 2 3 4 5 6 7A = 1 2 3 4 5 6 7 B=linspace(2,9,7)B = 2.0000 3.1667 4.3333 5.5000 6.6667 7.8333 9.0000 C=logspace(1,2,7)C = 10.0000 14.6780 21.5443 31.6228 46.4159 68.1292 100.0000 B+Cans = 12.0000 17.8447 25.8777 37.1228 53.0826 75.9625 109.0000 B-Cans = -8.0000 -11.5113 -17.2110 -26.1228 -39.7492 -60.2959 -91.0000 B.*Cans = 20.0000 46.4803 93.3588 173.9253 309.4393 533.6788 900.0000 B.Cans = 5.0000 4.6352 4.9718 5.7496 6.9624 8.6973 11.11113、 总结(1)思考题1、 MATLAB中元素运算和矩阵运算的区别是什么?答:元素运算用:.+、.-、.*、./ ,即点加、点乘等等,是对元素的运算操作;矩阵用:+、-、*、/ ,可能会改变矩阵的维数。 2、矩阵的左除与右除的含义是什么?答:xA=B即:x=B/A , 右除 ;Ax=B即:x=AB ,左除 。(2)实验体会:对于这次实验,由于已经学过matlab这门课,所以觉得比较基础,没有什么困难,只不过要清楚元素运算和矩阵运算的区别。通过这次实验,我更加熟悉了matlab的环境。 实验二、M文件的编写及调试1、 实验目的1、熟悉MATLAB中M文件的编辑环境;2、掌握MATLAB中M文件的编写与调试;3、熟悉MATLAB中基本程序语句的使用;2、 实验内容及结果1、在命令窗口中输入edit命令,观察M文件编辑器的组成及各部分功能。2、在命令窗口中输入help function,观察function函数的功能,并编写排序函数对输入元素进行排序:格式:paixu(A,B),其中A为一矩阵或向量,函数实现对A中元素进行排序,B为0表示升序,为1表示降序;当A为矩阵时实现对矩阵A的各行进行排序。(要求,循环结构分别利用for、while语句实现;升降序选择用switch语句实现)。解:M文件(for):function a=paixu(A,B);c=length(A);switch B case 0 for i=1:c-1; for j=i+1:c; if (A(i)A(j) k=A(i); A(i)=A(j); A(j)=k; a=A; end end end case 1 for i=1:c-1; for j=i+1:c; if (A(i) A=2 5 1 6 9 3; paixu(A,0)ans = 1 2 3 5 6 9 paixu(A,1)ans = 9 6 5 3 2 1M文件(while):function a=paixu(A,B)c=length(A);switch B case 0 i=1; while(iA(i+1) k=A(i); A(i)=A(i+1); A(i+1)=k; i=i+1; end a=A; end case 1 i=1; while(i=c-1) if (A(i) A=2 5 1 6 9 3; paixu(A,0)ans = 1 2 3 5 6 9 paixu(A,1)ans = 9 6 5 3 2 13、 根据2中观察所得的function帮助内容,在paixu函数中加入提示别人调用该函数的帮助内容。解:function a=paixu(A,B);c=length(A);switch B case 0 for i=1:c-1; for j=i+1:c; if (A(i)A(j) k=A(i); A(i)=A(j); A(j)=k; a=A; end end end case 1 for i=1:c-1; for j=i+1:c; if (A(i) xyz=43xyz = 43whos Name Size Bytes Class Attributes xyz 1x1 8 double global xyz=54xyz = 54 clear xyz whos whos global Name Size Bytes Class Attributes xyz 1x1 8 double global xyz=78xyz = 78 whos Name Size Bytes Class Attributes xyz 1x1 8 double global xyzWarning: The value of local variables may have been changed to match the globals. Future versions of MATLAB will require that you declare a variable to be global before you use that variable. xyzxyz = 545、 编写一个函数,输入参数个数为25,输出参数个数为13,利用函数nargin、nargout及nargchk完成判断输入参数个数功能,输入、输出参数个数不同,函数返回结果不同。当输入或者输出参数个数不在此范围内时,返回错误或警告提示。(error或warning)解:unction c = testarg(a,b)%TESTARG 检测输入输出参数个数% 该函数根据不同的输入输出参数个% 数进行相应的操作if (nargout = 1) disp(使用该函数必须指定一个输出参数!); returnendswitch nargin case 0 disp(使用该函数至少需要一个输入参数!); c = ; return case 1 c = a.2; case 2 c = a+b; end 6、编写M文件试用input函数的功能:解:function lqma=input(输入(1,5,10):); lqm输入(1,5,10):1 17、提示请输入分别实现输入数字和字符串解:function lqminput(请输入数字:n);input(请输入字符串:,s) lqm请输入数字:24678请输入字符串:longqianmeians =longqianmei8、请编写一个判断数据(整数)奇偶性的函数。两种方法(1、(用if-elseif-end语句判断奇偶数),2、用switch-case语句判断奇偶数)解:第一种方法:function y=f(x)if(mod(x,2) disp(奇数);else disp(偶数);end f(89)奇数 f(36)偶数第二种方法:function y=y(x)y=mod(x,2);switch y case 0 y=0; case 1 y=1;end y(36)ans = 0 y(57)ans = 13、 总结 1、MATLAB中M文件的编写与调试的过程是什么?答:在file-new-M_File里面编写M文件,看右边的调试框,当呈现红色时说明有语法错误等,直到是绿色为止,程序已然无任何语法错误,然后保存在matlab的根目录work里面。 2、MATLAB中基本程序语句的如何使用?答:调用M文件可直接调用文件名,注意文件名不能用自带的函数命名,否则就不能正常调用文件。因为一同会优先考虑那是系统函数,而不是文件名。 3、实验体会:此次实验,根据实验题目和老师的课件,基本上没什么问题,最大的问题是在编写M文件排序上,由于要用到C语言的知识,所以有很多不熟,不过在同学和老师的帮助下,最终还是成功了。 实验三、MATLAB绘图及信号产生1、 实验目的1、掌握MATLAB的二维、三维绘图方法;2、掌握MATLAB产生基本的信号。2、 实验内容及结果1、 绘制如下图所示的图形(使用plot ezplot meshgrid surf mesh)。解:(1) t=0:pi/25:2*pi;x=sin(t);y=cos(t);plot(x,y),grid on (2) t=0:pi/50:2*pi;y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,:b),title(正弦曲线和余弦曲线),xlabel(弧度值),ylabel(函数值),grid on(3) 其中f(x,y)= 3*(1-X).2.*exp(-(X.2)-(Y+1).2)-10*(X/5-X.3-Y.5).*exp(-X.2-Y.2)-1/3*exp(-(X+1).2-Y.2) X,Y=meshgrid(-4:0.125:4);Z=3*(1-X).2.*exp(-(X.2)-(Y+1).2)-10*(X/5-X.3-Y.5).*exp(-X.2-Y.2)-1/3*exp(-(X+1).2-Y.2); subplot(2,1,1);mesh(X,Y,Z);grid on subplot(2,1,2);surf(X,Y,Z);grid on shading interp 2、利用sin、cos、sawtooth、square分别生成一连续和离散时间周期信号,要充分利用其中每个函数的参数。解:n=0:pi/20:2*pi; y1=sin(n); subplot(2,1,1),plot(n,y1),grid on subplot(2,1,2),stem(n,y1),grid on y2=cos(n); subplot(2,1,1),plot(n,y2),grid on subplot(2,1,2),stem(n,y2),grid on t=0:pi/10:10*pi;y3=sawtooth(t,1);subplot(2,1,1),plot(y3),grid onsubplot(2,1,2),stem(y3),grid on t=0:0.001:15*pi;y=square(t,20);plot(t,y);axis(0 25 -1.5 1.5) n=-10:10; y=square(n,20); stem(y) 3、 分别生成离散时间的单位冲击信号和单位阶跃信号。解:冲击函数 n=1:10;N=5; seg=n-N=0; stem(n,seg) 阶跃函数 n=1:10;N=5; seg=n-N=0; stem(n,seg);grid on 4、编写程序产生如图1所示的信号向量,并绘制图形。解: t=-6:0.01:6;y=(2).*(t=-6&t=-4&t=-2&t=0&t=3&t plot(t,y);grid on 3、 总结 对于matlab绘图和信号产生实验,前面基本上没什么难度,最大的难度是最后一个分段函数,本以为还要编写M文件程序来绘图,结果老师讲解了更简单的方法,对于此次实验,我受益匪浅。 实验四、基本SIMULINK仿真系统设计1、 实验目的1、熟悉MATLAB中基本SIMULINK仿真环境;2、掌握SIMULINK进行系统仿真设计的基本步骤;3、了解SIMULINK中各模块库;4、掌握仿真系统参数设置及子系统封装技术;二、实验内容及结果1、在命令窗口中输入SIMULINK命令,观察其模块库的构成;2、了解专业模块库中的communication及DSP,熟悉其中的demo。 3、新建一个模型文件,搭建一个简单的simulink信源系统信宿仿真模型,并进行系统仿真。改变系统仿真环境参数,观察其变化。解: 改变参数后: 4、 在3步基础上,构建子系统,并设置封装参数,至少2个,以变量方式传递。解: 示波器: 示波器1: 封装: 子系统: 5、 完成一正弦稳态电路的SIMULINK模型仿真及M文件方式仿真实现,并比较两种方式各自的优缺点。解: M文件:w=1,2;Us=10,0;Is=0,5;Z1=1./(0.5*w*j);Z4=1*w*j;Z2=2,2;Z3=2,2;Uoc=(Z2./(Z1+Z2)-Z4./(Z3+Z4).*UsZeq=Z3.*Z4./(Z3+Z4)+Z1.*Z2./(Z1+Z2)U=Is.*Zeq+Uocdisp( w Um phi)disp(w,abs(U),angle(U)*180/pi) U=3.1623*cos(t-18.4349)+7.0711*cos(2*t-8.1301); ezplot(U,0,20) 3、 总结 1、SIMULINK的基本功能是什么?答:交互式、图形化建模环境;交互式仿真环境;专用模块库(blocksets) 2、SIMULINK进行系统仿真设计的基本步骤是什么?答:选择模块;模块连接;信号组合与分支;运行仿真。 3、如何封装一个子系统?答:点击要封装的部分后,再单击右键,点封装。 4、实验体会:这次实验是将我们的理论知识化为操作能力的开端,让我们更加的理解的理论知识,也提高了我们学习知识的兴趣。在实验操作中,有些问题,对于我来说,在simulink仿真时,寻找模块是我最大的问题,时常找很久都没有找到,不过现在知道怎么寻找了,以后我应该多多练习。 实验五、基于SIMULINK数字逻辑电路仿真1、 实验目的1、进一步熟悉MATLAB中基本SIMULINK仿真环境及子系统封装技术;2、掌握SIMULINK数字逻辑电路仿真系统的设计方法;3、熟悉基本触发器模块的使用;4、体会SIMULINK系统仿真与M文件系统仿真的差别;二、实验内容及结果 1、设计一8-3线二进制编码器仿真系统,观察其仿真结果;将其封装为一个子系统模块,并设置传递参数。解:参数设置:Pulse Generator模块:Pulse type选择sample based;Period设置为8;Pulse width设置为1;Phase delay:X0X7依次设置为07;Logical Operator模块:Operator选择为ORNumber of input ports设置为4Scope模块:设定坐标轴个数为8(输入)和3(输出),Tick label选择allScope:Scope1:封装:子系统: 2、设计一3-8线二进制译码器仿真系统,观察其仿真结果;将其封装为一个子系统模块,并设置传递参数。利用编码器和译码器子模块搭建系统,观察输入与输出是否相同。解:输入:输出:封装:子系统:3、 总结 1、SIMULINK数字逻辑电路仿真系统的设计方法是什么? 答:先根据要求设计电路,再根据电路图选择合适的模块进行模块连接,最后进行仿真。 2、实验体会:这次实验主要是进一步熟悉MATLAB中基本SIMULINK仿真环境及子系统封装技术;掌握SIMULINK数字逻辑电路仿真系统的设计方法;熟悉基本触发器模块的使用;体会SIMULINK系统仿真与M文件系统仿真的差别。通过实验我已经十分熟悉了数字逻辑电路仿真的设计方法。 实验六、ProtelDXP中电路原理图设计1、 实验目的1、熟悉ProtelDXP中原理图设计环境;2、掌握基本的电路原理图设计方法;3、熟悉原理图元件库的添加过程;4、熟悉原理图元件库中的基本元器件符号;5、掌握层次原理图设计的基本方法。二、实验内容及结果 1、打开ProtelDXP软件,观察界面构成;创建一个工程,在工程中添加一个原理图文件,观察原理图文件编辑器的界面环境构成。解: 2、在Design下打开Browse Library窗口,观察分立元器件库元件符号及基本接插件库中元件符号;(举例:电感/电阻/电容,数字74系列,与非门等)3、对第二步中所绘制的电路原理图进行保存、编译、查错处理,直至完整无误后生成元器件报表。并自行保存以备下次实验调用。 4、对1步中所绘制的电路原理图以自下而上的方式实现。 3、 总结 1、 ProtelDXP中电路原理图设计基本步骤。答:(1)、原理图设计; (2)、生成网络表; (3)、印制电路板设计; (4)、生成印制电路板报表并打印印制电路板图 。 2、实验体会:本次实验主要是熟悉ProtelDXP的界面,为下次的实验做准备,对下一次实验的顺利进行起着至关重要的作用。 实验七、ProtelDXP中印制电路板设计1、 实验目的1、进一步熟悉ProtelDXP中绘制原理图的方法;2、熟悉PCB编辑器环境;3、掌握ProtelDXP中PCB的基本设计方法;4、熟悉PCB元件库的添加过程及基本库元件的封装形式;5、熟悉ProtelDXP中各类报表;2、 实验内容及结果1、 打开ProtelDXP创建一个工程,新建一个原理图文件,绘制实验六的原理图。绘制过程中注意观察所调用元件的封装形式。解:2、在工程中添加一个PCB文件,观察PCB文件编辑器的界面环境构成。3、在所创建的PCB 文件中依据1所绘制电路图,建立其对应的PCB。并对其进行布局、布线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 并条工前沿技术考核试卷及答案
- 2025年汽车驾驶员(高级)证考试题库及答案
- 彩灯艺术设计师基础考核试卷及答案
- 新招录政府专职消防队员理论考试题库及答案
- 2025年护理学专业职称考试试卷及答案
- 2025年配电安规考试题及答案
- 2025年二甲医院康复师面试题及答案
- 卤菜知识竞赛题及答案
- 企业知识竞赛题及答案
- 装裱师专业技能考核试卷及答案
- 氧化还原反应学案高一上学期化学人教版
- 月嫂证考试试题及答案
- 社团活动管理课件
- 心理治疗中心团队职责与组织架构图解
- 客户转让合同协议书
- 羽绒服购销合同协议
- 设施赔偿协议书范本
- 境外企业租赁合同协议
- 民间道教考试试题及答案
- 医务人员职业素养提升知识试题及答案
- 保健品会销管理制度
评论
0/150
提交评论