1、Matlab实验指导书Matlab实验指导书实验一:Matlab操作环境熟悉一、实验目的1初步了解Matlab操作环境。2学习使用图形函数计算器命令funtool及其环境。二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1单函数运算操作。 求下列函数的符号导数(1) y=sin(x);(2) y=(1+x)3*(2-x); 求下列函数的符号积分(1) y=cos(x)
2、;(2) y=1/(1+x2);(3) y=1/sqrt(1-x2);(4) y=(x-1)/(x+1)/(x+2); 求反函数(1) y=(x-1)/(2*x+3);(2) y=exp(x);(3) y=log(x+sqrt(1+x2); 代数式的化简(1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4);(2) sin(x)2+cos(x)2;(3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2函数与参数的运算操作。 从y=x2通过参数的选择去观察下列函数的图形变化(1) y1=(x+1)2(2) y2=(x+2)2(3) y3=2*x2(4) y4=x
3、2+2(5) y5=x4(6) y6=x2/23两个函数之间的操作 求和(1) sin(x)+cos(x)(2) 1+x+x2+x3+x4+x5 乘积(1) exp(-x)*sin(x)(2) sin(x)*x 商(1) sin(x)/cos(x);(2) x/(1+x2);(3) 1/(x-1)/(x-2); 求复合函数(1) y=exp(u) u=sin(x)(2) y=sqrt(u) u=1+exp(x2)(3) y=sin(u) u=asin(x)(4) y=sinh(u) u=-x三、设计提示1初次接触Matlab应该注意函数表达式的文本式描述。2在使用图形函数计算器funtool时
4、,注意观察1号和2号窗口中函数的图形。四、实验报告要求1针对图形函数计算器funtool,对每一类型计算记录其中一个图形的曲线。2书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。实验二:M文件和Mat文件操作一、实验目的1定制自己的工作环境。2编写简单的M文件。3保存内存工作区中的变量到.mat文件。4学会只用Matlab帮助。二、实验内容1使用format命令和File|Peferences菜单定制自己的工作环境。2编写如下M文件,试调整参数a的大小,观察并记录y1、y2的波形特征。%example1.mt=0:pi/100:4*pi;a=3;y2=exp(-t/a
5、);y1=y2.*sin(a*t);plot(t,y1,-r,t,y2,:b,t,-y2,:b);3保存内存工作区变量a、t、y1、y2到example1.mat文件;关闭Matlab,再重新启动;观察内存工作区;重新根据.mat文件恢复原来的工作区变量。4在命令窗口中查看exp函数的帮助;运行helpwin查看超文本格式的帮助文件,试翻译并记录下信号处理工具箱(Signal Processing Toolbox)中的函数分类(Functions - Categorical List)。三、设计提示1可以用命令语句、菜单或按钮等多种方式执行命令。2用于编辑M文件的文本编辑器还可以执行和调试程序
6、。3不同的工具箱可能包含同名的函数,查看帮助时应注意在左侧栏选择相应的工具箱类别。四、实验报告要求1对实验内容2,说明参数a的大小对y1、y2波形特征的影响。2翻译命令窗口中的exp函数的帮助信息。3运行helpwin,试翻译并记录下信号处理工具箱(Signal Processing Toolbox)中的函数分类(Functions - Categorical List)。4书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。实验三:矩阵运算与元素群运算一、实验目的1掌握数组与矩阵的创建。2掌握矩阵运算与数组运算。3掌握基本元素群运算。4掌握向量与矩阵的特殊处理。二、实验
7、内容1“:”号的用法。用“:”号生成行向量a=1 2 3 4 5 6 7 8 9 10、b=5 3 1 -1 -3 -5; a=1:1:10 b=5:-2:-52用线性等分命令linspace重新生成上述的a和b向量。 a=linspace(1,10,10) b=linspace(5,-5,6)3在100和10000之间用对数等分命令logspace生成10维的向量c。 C=logspace(2,4,10)4生成范围在0,10、均值为5的35维的均匀分布随机数矩阵D。 D=10*rand(3,5)5利用magic函数生成55维的魔方矩阵,取其对角向量e,并根据向量e生成一个对角矩阵E。(所谓魔
8、方矩阵就是各行、各列、各对角线元素之和相等。) e=magic(5) E=diag(e)6另AA是33维魔方矩阵,BB是由A旋转180得到。CC是一个复数矩阵,其实部为AA,虚部为BB。DD是CC的转置,EE是CC的共轭。分别计算CC和EE的模和幅角。 aa=magic(3) bb=rot90(aa) bb=rot90(bb) cc=aa+bb*i dd=conj(cc) ee=conj(cc) cc=abs(cc) ee=abs(ee) cc=angle(cc) ee=angle(ee) 7是一个首项为20,公比为0.5的10维等比数列;g是一个首项为1,公差为3的10维等差数列。试计算向量
9、f和g的内积s。f=zeros(1,10);f(1)=20;for n=2:10;f(n)=f(n-1)*0.5;endg=zeros(1,10);g(1)=1;for m=2:10;g(m)=g(m-1)-3;ends=dot(f,g)8生成一个99维的魔方矩阵,提取其中心的33维子矩阵M,利用sum函数检验其各行和各列的和是否相等。 a=magic(9) m=a(4:6,4:6) sum(a) sum(a) 9已知,利用函数生成左上三角矩阵。 t=1,2,3,4;2,3,4,5;3,4,5,6;4,5,6,7t=flipud(t)t=tril(t)t=flipud(t)三、设计提示1等比数
10、列可利用首项和公比的元素群的幂乘积生成。2提取子矩阵,可灵活应用“:”号或空阵 。3尽量用Matlab函数生成上述矩阵或向量,不要用手工逐个输入。四、实验报告要求1编写实现第二节实验内容中所使用的函数命令,并记录相应的生成结果。2思考题:是否存在22维的魔方矩阵?。3书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。实验四:线性方程组的求解一、实验目的1掌握恰定方程组的解法。2了解欠定方程组、超定方程组的解法。3掌握左除法求解线性方程组。4学会测试程序的运行时间。二、实验内容1用两种方法求下列方程组的解,并比较两种方法执行的时间。 左除法a=7,14,-9,-2,5;3
11、,-15,-13,-6,-4;-11,-9,-2,5,7;5,7,14,16,-2;-2,5,12,-11,-4;b=100,200,300,400,500; x=ab逆阵法a=7,14,-9,-2,5;3,-15,-13,-6,-4;-11,-9,-2,5,7;5,7,14,16,-2;-2,5,12,-11,-4; b=100,200,300,400,500; inv(a)*b2判定下列方程是恰定方程组、欠定方程组还是超定方程组,并求其解。a=6,9,14,-11,5;1,14,-7,-15,-6;-2,1,-7,12,-1;6,11,11,-9,-13; b=68,294,-441,10
12、3;x=ab3用网孔电流法求如下电路的各支路电流。a=4,-1,0;-2,6,4;0,-1,2; b=2,1,1; x=ab4用结点电压法求如下电路的结点电压un1、un2。a=3,-1;-9,11; b=20000,0; x=ab三、设计提示1在计算程序的执行时间之前,应注意用clear命令将内存变量清空。2求得线性方程组的解之后,代入原方程验证是否正确。四、实验报告要求1编写实现第二节实验内容中所使用的函数命令,并记录相应的生成结果。2对于电路的求解,应列出相应的网孔方程和结点方程,并注意方向。3书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。实验五:函数编写与程
13、序设计一、实验目的1掌握函数的编写规则。2掌握函数的调用。3会用Matlab程序设计实现一些工程算法问题。二、实验内容1编写一个y,y1,y2=mwave(f1,m1,f2,m2)函数,实现以下功能,并绘出y1、y2、y在t0,2区间500个样点的图形。(其中调用参数2 f1、f2 20 Hz;0.5 m1、m2 2)function y,y1,y2=mwave(f1,m1,f2,m2)% 根据给定的频率和幅值计算标准正弦函数y1、y2及其叠加y的波形。if (f120) error(f1超出范围!), return, endif (f220) error(f2超出范围!), return,
14、endif (m12) error(m1超出范围!), return, endif (m22) error(m2超出范围!), return, end% -t=0:2*pi/(500-1):2*pi;y1=m1*sin(2*pi*f1*t);y2=m2*sin(2*pi*f2*t);y=y1+y2;figuresubplot(311); plot(t,y1); title(y1波形);subplot(312); plot(t,y2); title(y2波形);subplot(313); plot(t,y); title(y=y1+y2波形);% =2程序设计:相传古代印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他要什么?达依尔回答:“陛下只要在国际象棋棋盘的第一个
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1