实验指导书(标准格式)《MATLAB与系统仿真》实验指导书课程编号:ME2121025课程名称:MATLAB与系统仿真适应专业:电气工程及其自动化课程类别:限选实验教学种类:上机课程总学时:30+6实验学时:6执笔人:勾燕洁西安电子科技大学机电工程学院2006 年9 月目录实验一MA TLAB的基本使用及矩阵操作------------------- 3 实验二MA TLAB编程与图形处理---------------------------- 9 实验三MA TLAB中的数值运算与系统仿真---------------- 15实验一MA TLAB的基本使用及矩阵操作一、实验目的和要求熟悉MA TLAB的界面和基本操作,掌握矩阵的建立方法及各种运算。
1.熟悉MA TLAB软件的界面和帮助系统。
2.掌握MA TLAB软件中关于矩阵建立、矩阵初等变换以及矩阵算术、关系、逻辑运算的各种命令。
3.掌握MA TLAB软件中M函数和M文件的编写,以及程序结构与控制,学会编写一般程序。
二、实验内容1.启动与退出2.数、数组、矩阵的输入3.MA TLAB的基本命令4.矩阵大小的测试5.矩阵元素的操作6.特殊矩阵的产生7.矩阵的算术运算8.矩阵的关系运算9.矩阵的逻辑运算10.常用函数三、实验仪器、设备(软、硬件)及仪器使用说明PC机一台,注意正确开、关机及打开软件。
四、实验原理无五、实验方法与步骤1.启动与退出双击MA TLAB图标,进入MA TLAB命令窗口,即可输入命令,开始运算;观察各个窗口以及菜单;单击File菜单中的Exit,或使用MATLAB的Exit命令退出。
2.数、数组、矩阵的输入(1)数的输入>>a=25>>b=3-9i问题1.1:输入“>>a=25;”,结果有什么区别?(2)数组的输入>>c=[1,2,3,4;5,6,7,8]>>d=0:1:10>>e=linspace(1,11,6)问题1.2:体会以上输入方法有什么区别和联系?若A为在0~2 之间均匀分布的22个数据,B=(1.3,2.5,7.6,2,-3),C=(23,20,17,14,11,8,5,2),各用何种方法输入较简单?(3)矩阵的输入>>A=[1,2,3;4,5,6;7,8,9]问题1.3:输入“A=[1 2 3;4 5 6;7 8 9]”,结果相同吗?MA TLAB中对变量名有什么规定?3.MA TLAB的基本命令(1)变量的存储与调用>>save data a b c>>load data(2)MA TLAB命令编辑使用↑键和↓键查看或执行以前执行过的命令(3)显示格式设定>>d=1223.58>>format short e>>d>>format rat>>d(4)工作空间管理>>who a b>>whos>>workspace>>path>>clear %注意工作空间的变化(5)窗口清屏命令>>clc问题1.4:执行命令“clc”和“clear”结果有何不同?(6)联机求助>>help eig>>demo4.矩阵大小的测试(1)>>f=length(A)(2)>>[n,m]=size(A)(3)>>g=nidms(A)问题1.5:以上三个命令有什么区别?5.矩阵元素的操作>>A (1,:)>>A ([1,3],:)>>A (2:3,1:2)问题1.6:输入“A (2,3)”,结果任何,输入“A (6)”,结果相同吗?>>A ([1,3],:)=A ([3,1],:)>>A (2,:)=4>>A (find(A==4))=0>>A (3,:)=[]>>reshape (A,3,2)问题1.7:如何将A的第2列和第3列互换?输入“reshape (2,4)”能否得到正确结果?>>A (4,5)=2>>[A(1:3,2:4),A(2:4,1:3);A,A(:,2)]>>diag(A,1)>>tril(A,2)>>triu(A,2)>>flipud(A)>>fliplr(A)>>rot90(A)问题1.8:输入“rot90(A,2)”和“rot90(A,-2)”结果有区别吗?6.特殊矩阵的产生>>B=eye(5)>>C=ones(2,3)>>D=zeros(3,2)>>E=rand(2,5)>>randn(3,4)>>vander([2 3 9])问题1.9:产生一个在[10,20]内均匀分布的4阶随机矩阵。
>>logspace (0,2,5)>>diag([3,5,2])>>hilb(4)>>F=magic(5)7.矩阵的算术运算>>A’>>det(F)>>rank(F)>>inv(F)>>eig(F)>>[V,D]=eig(F)>>trace(F)>>3*B>>B+F>>F-B>>B*F>>F/B>>F\B>>F^2问题1.10:分组比较“B*F”和“B.*F”,“F/B”和“F./B”,“F\B”和“F.\B”,“F^2”和“F.^2”以及“2^B”和“2.^B”的区别。
8.矩阵的关系运算>>A>3>>B~=0>>C==0>>F<=B问题1.11:输入“2<4”,结果如何?9.矩阵的逻辑运算>>h=4|0>>k=xor(3,5)>>B-1&F>>G=~C问题 1.12:输入“x=1:5”,“y=3:7”,“t1=x-2>3”,“t2=(x>3)-y”,“t3=~t1-2”,“t4=(x>1)&(y<6)”,结果如何?从中体会逻辑操作符、关系操作符、计算操作符的优先等级和计算先后次序。
10.常用函数>>floor(5.8)>>ceil(-6.2)>>round(7.5)>>fix(4.4)问题1.13:以上四个取整函数有什么区别?>>rem(-3,2)>>mod(-3,2)问题1.14:以上两个求余函数有什么区别?六、实验报告要求1.将实验步骤中的每一条命令输入软件中,观察执行结果并记录下来,体会相似命令之间的差异;回答实验步骤中的问题。
2.将所有命令的执行结果及其后的问题写成实验报告。
七、实验注意事项无八、参考资料朱衡君主编《MATLAB语言及实践教程》(第一版),北京:清华大学出版社;北京交通大学出版社,2004.10徐金明主编《MATLAB实用教程》,北京:清华大学出版社,2005九、讨论与思考实验二MA TLAB编程与图形处理一、实验目的和要求掌握MA TLAB编程,掌握二维绘图和基本数值计算,了解三维绘图。
1.掌握MA TLAB软件的程序结构与控制、程序文件和函数文件的建立及调用函数。
2.掌握MA TLAB软件中关于二维绘图、图形修饰和标注以及绘制一些特殊图形的命令。
3.掌握MA TLAB软件中多项式运算、线性方程组的解法。
4.了解三维绘图的命令。
二、实验内容1.M文件2.选择语句3.循环语句4.二维绘图基本命令5.图形修饰与控制6.特殊二维图形7.绘制三维图形三、实验仪器、设备(软、硬件)及仪器使用说明PC机一台,注意正确开、关机及打开软件。
四、实验原理无五、实验方法与步骤1.M文件(1)程序文件单击MA TLAB菜单栏上的新建按钮,进入MA TLAB文件编辑窗口,即可输入各种程序及函数,编辑完成后保存文件,并在命令窗口中执行。
建立程序文件,在文件编辑窗口输入:A=[1 2;3 4]B=[5 6;7 8]C=A*BD=rank(A+B)以文件名“ex”存盘,回到命令窗口输入“ex”调用程序文件。
>>ex(2)函数文件单击MA TLAB菜单栏上的新建按钮,进入MA TLAB文件编辑窗口,定义函数之后,编写函数,编辑完成后保存文件,文件名必须要与函数名相同。
然后可以在命令窗口或程序文件中调用。
建立文件名为“my”的文件,在文件编辑窗口输入:function [v,s]=my(v0,a,t)v=v0+a*t;s=v0*t+a*t^2/2;存盘,在命令窗口调用my函数,要注意参数的匹配:>>[v,s]=my(2,4,5)2.选择语句(1)if条件语句编写程序文件比较数的大小a=3;b=6;if a>bmax=aelseif a==bmax=’两数相等’elsemax=b;disp([‘最大值为:’,num2str(max)]);end保存并在命令窗口调用。
问题2.1:编程:从键盘输入三个数,按大小顺序输出。
(2)switch分支选择语句var=input(‘输入一位数’)switch varcase{1,2,3},disp(‘第一种情况’)case{4,5,6},disp(‘第二种情况’)case{7,8,9},disp(‘第三种情况’)otherwise,disp(‘意外的情况’)end保存并在命令窗口调用。
3.循环语句(1)for循环语句编写程序利用for循环求出从100~200之间的所有素数for m=101:200k=fix(sqrt(m));for i=2:k+1if rem(m,i)==0;break;endendif i>k+1disp(int2str(m))endend保存并在命令窗口调用。
问题2.2:建立一个程序文件A=[2,5,0;2,4,7;3,1,9]for k=Ay=k(1)-k(2)+k(3)end执行结果如何?(A为矩阵,计算时将按列分步赋值)问题2.3:编程求nnS a aa aaa aa a=++++的值,其中a是一个1~9之间的数字,a和n都由键盘输入。
(2)while循环语句用while循环求100~200的和sum=0;i=1;while i<=100sum=sum+I;i=i+1;endsum保存并在命令窗口调用。