1、l实验指导书含答案实验一: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) y=1/(1+x
2、2);(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=x2+2(5) y5=x4(
3、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时,注意观察1号和2号窗口中
4、函数的图形。四、实验报告要求1针对图形函数计算器funtool,对每一类型计算记录其中一个图形的曲线。2书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。实验二:M文件和Mat文件操作一、实验目的1定制自己的工作环境。2编写简单的M文件。3保存内存工作区中的变量到.mat文件。4学会只用Matlab帮助。二、实验内容1使用format命令和File|Peferences菜单定制自己的工作环境。2编写如下M文件,试调整参数a的大小,观察并记录y1、y2的波形特征。%t=0:pi/100:4*pi;a=3;y2=exp(-t/a);y1=y2.*sin(a*t);plot(
5、t,y1,-r,t,y2,:b,t,-y2,:b);3保存内存工作区变量a、t、y1、y2到文件;关闭Matlab,再重新启动;观察内存工作区;重新根据.mat文件恢复原来的工作区变量。4在命令窗口中查看exp函数的帮助;运行helpwin查看超文本格式的帮助文件,试翻译并记录下信号处理工具箱(Signal Processing Toolbox)中的函数分类(Functions - Categorical List)。三、设计提示1可以用命令语句、菜单或按钮等多种方式执行命令。2用于编辑M文件的文本编辑器还可以执行和调试程序。3不同的工具箱可能包含同名的函数,查看帮助时应注意在左侧栏选择相应的
6、工具箱类别。四、实验报告要求1对实验内容2,说明参数a的大小对y1、y2波形特征的影响。2翻译命令窗口中的exp函数的帮助信息。3运行helpwin,试翻译并记录下信号处理工具箱(Signal Processing Toolbox)中的函数分类(Functions - Categorical List)。4书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。实验三:矩阵运算与元素群运算一、实验目的1掌握数组与矩阵的创建。2掌握矩阵运算与数组运算。3掌握基本元素群运算。4掌握向量与矩阵的特殊处理。二、实验内容1“:”号的用法。用“:”号生成行向量a=1 2 3 4 5 6
7、7 8 9 10、b=5 3 1 -1 -3 -5;2用线性等分命令linspace重新生成上述的a和b向量。3在100和10000之间用对数等分命令logspace生成10维的向量c。4生成范围在0,10、均值为5的35维的均匀分布随机数矩阵D。5利用magic函数生成55维的魔方矩阵,取其对角向量e,并根据向量e生成一个对角矩阵E。(所谓魔方矩阵就是各行、各列、各对角线元素之和相等。)6另AA是33维魔方矩阵,BB是由A旋转180得到。CC是一个复数矩阵,其实部为AA,虚部为BB。DD是CC的转置,EE是CC的共轭。分别计算CC和EE的模和幅角。7是一个首项为20,公比为的10维等比数列;
8、g是一个首项为1,公差为3的10维等差数列。试计算向量f和g的内积s。8生成一个99维的魔方矩阵,提取其中心的33维子矩阵M,利用sum函数检验其各行和各列的和是否相等。9已知,利用函数生成左上三角矩阵。三、设计提示1等比数列可利用首项和公比的元素群的幂乘积生成。2提取子矩阵,可灵活应用“:”号或空阵 。3尽量用Matlab函数生成上述矩阵或向量,不要用手工逐个输入。四、实验报告要求1编写实现第二节实验内容中所使用的函数命令,并记录相应的生成结果。2思考题:是否存在22维的魔方矩阵。3书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。五,参考答案1.代码:a=1:10
9、b=5:-2:-5 a = 1 2 3 4 5 6 7 8 9 10b = 5 3 1 -1 -3 -51. 代码:linspace(1,10,10)linspace(5,-5,6)ans = 1 2 3 4 5 6 7 8 9 10ans = 5 3 1 -1 -3 -52. 代码: logspace(2,4,10)ans = +004 * 3. 代码: D=10*rand(3,5)结果: D = 5.代码:A=magic(5);e=diag(A);E=diag(e)结果;E = 17 0 0 0 0 0 5 0 0 0 0 0 13 0 0 0 0 0 21 0 0 0 0 0 96.代码
10、: AA=magic(3); BB=rot90(AA,2); CC=AA+j*BB; DD=CC.; EE=conj(CC); A=abs(CC) B=angle(CC) C=abs(EE) D=angle(EE)结果:A = B = C = D = 7.代码:f=20*.(0:9);g=1:3:28;s=dot(f,g)结果:s = 8.代码:A=magic(9);M=A(4:6,4:6);sum(A,1)sum(A,2)结果:ans = 369 369 369 369 369 369 369 369 369ans = 369 369 369 369 369 369 369 369 3699
11、代码:T=1,2,3,4;2,3,4,5;3,4,5,6;4,5,6,7A=rot90(T);B=tril(A);T1=rot90(B,-1)结果:T = 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7T1 = 1 2 3 4 2 3 4 0 3 4 0 0 4 0 0 0实验四:线性方程组的求解一、实验目的1掌握恰定方程组的解法。2了解欠定方程组、超定方程组的解法。3掌握左除法求解线性方程组。4学会测试程序的运行时间。二、实验内容1用两种方法求下列方程组的解,并比较两种方法执行的时间。2判定下列方程是恰定方程组、欠定方程组还是超定方程组,并求其解。3用网孔电流法求如下电路的各
12、支路电流。4用结点电压法求如下电路的结点电压un1、un2。三、设计提示1在计算程序的执行时间之前,应注意用clear命令将内存变量清空。2求得线性方程组的解之后,代入原方程验证是否正确。四、实验报告要求1编写实现第二节实验内容中所使用的函数命令,并记录相应的生成结果。2对于电路的求解,应列出相应的网孔方程和结点方程,并注意方向。3书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。五、参考答案第一题: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
13、;400;500;X=AB结果:X = 第二题: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;103;X=AB结果:X = 0 第三题: A=1,1,-1,1;0,20,40,0;60,0,40,0;0,0,40,40; B=0;10;50;-40; X=ABX = 实验五:函数编写与程序设计一、实验目的1掌握函数的编写规则。2掌握函数的调用。3会用Matlab程序设计实现一些工程算法问题。二、实验内容1编写一个y,y1,y2=mwave(f1,m1,f2,m2)函数,实现以下功能,并绘出y1、
14、y2、y在t0,2区间500个样点的图形。(其中调用参数2 f1、f2 20 Hz; m1、m2 2)2程序设计:相传古代印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他要什么达依尔回答:“陛下只要在国际象棋棋盘的第一个格子上放一粒麦子,第二个格子上放二粒麦子,以后每个格子的麦子数都按前一格的两倍计算。如果陛下按此法给我64格的麦子,就感激不尽,其他什么也不要了。”国王想:“这还不容易!”让人扛了一袋麦子,但很快用光了,再扛出一袋还不够,请你为国王算一下共要给达依尔多少小麦(1袋小麦约108粒)。3程序设计:公元前五世纪我国古代数学家张丘建在算经一书中提出了“百鸡问题”:鸡翁一值
15、钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、母、雏各几何三、设计提示1函数名和函数文件名应相同;对调用参数的取值范围要检验是否符合要求,如不符合要求,应给出出错信息(用if和error函数实现)。2程序设计“百鸡问题”答案不唯一。提示:设x:鸡翁数,则x的范围:019;y:鸡母数,则y的范围:033;z:鸡雏数,则z的范围:0100。四、实验报告要求1编写实现第二节实验内容(1)所使用的函数文件。2程序设计用M文件编写,并记录执行结果。“百鸡问题”答案不唯一,要给出所有答案。3书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。五、参考答案第1题:functio
16、n y,y1,y2=mwave(f1,m1,f2,m2)% 根据给定的频率和幅值计算标准正弦函数y1、y2及其叠加y的波形。if (f120) error(f1超出范围!), return, endif (f220) error(f2超出范围!), return, 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
17、); plot(t,y1); title(y1波形);subplot(312); plot(t,y2); title(y2波形);subplot(313); plot(t,y); title(y=y1+y2波形);% =第2题:a=1;s=0for i=1:64 s=s+a; a=2*a;endn=s/108运行后得:n=+011第3题:解 设 x:鸡翁数,则x的范围:019 y:鸡母数,则y的范围:033 z:鸡雏数,则z的范围:0100则: x+y+z=100 5x+3y+z/3=100这是一个欠定方程。for x=0:19 for y=0:33 for z=0:100 if (x+y+z
18、=100)&(5*x+3*y+z/3=100) d=x,y,z end end endend运行后得结果:d = 0 25 75d = 4 18 78d = 8 11 81d = 12 4 84实验六:二维图形和三维图形的创建一、实验目的1掌握二维图形的绘制。2掌握图形的标注3了解三维曲线和曲面图形的绘制。二、实验内容1生成110维的随机数向量a,分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。2在同一个图形窗口中,绘制两条曲线;并分别在靠近相应的曲线处标注其函数表达式。3编写一个mcircle(r)函数,调用该函数时,
19、根据给定的半径r,以原点为圆心画一个如图所示的红色空心圆。(图例半径r=5)4(1)绘一个圆柱螺旋线(形似弹簧)图。圆柱截面直径为10,高度为5,每圈上升高度为1。如左图所示。(2)利用(1)的结果,对程序做少许修改,得到如右图所示图形。三、设计提示1Matlab允许在一个图形中画多条曲线:plot(x1,y1,x2,y2,)指令绘制等多条曲线。Matlab自动给这些曲线以不同颜色。标注可用text函数。2绘图时可以考虑极坐标和直角坐标的转换。3三维曲线绘图函数为plot3。四、实验报告要求1编写实现第二节实验内容中所使用的函数命令,并对二-2记录相应的生成结果。2书写实验报告时要结构合理,层
20、次分明,在分析描述的时候,需要注意语言的流畅。五、参考答案第一题 t=rand(1,10);figure(1)subplot(221);plot(t,r);title(连线图)subplot(222);stem(t,y);title(脉冲图);subplot(223);stairs(t,b);title(阶梯图);subplot(224);bar(t,g);title(条形图);第二题:x=1:1:50;y1=2.x;y2=(1/2).x;figure(1)plot(x,y1,r,x,y2,g);gtext(y1=2.x);gtext(y2=(1/2).x);第3题:function y,t=
21、mcircle(r)% 根据给定的半径r,以原点为圆心画一个红色空心圆。t=0:2*pi/64:2*pi;y=r*ones(size(t);subplot(121), polar(t,y,*r)X,Y=pol2cart(t,y);% 或者采用如下方法转换% X=r*cos(t);% Y=r*sin(t);subplot(122), plot(X,Y,*r)axis equal;axis square;第4题:t=0:pi/180:2*pi*5;r1=10/2;x1=r1*cos(t);y1=r1*sin(t);z=t/(2*pi);subplot(121), plot3(x1,y1,z)gri
22、d on%-r2=linspace(5,0,length(t);x2=r2.*cos(t);y2=r2.*sin(t);subplot(122), plot3(x2,y2,z)grid on实验七:Matlab多项式和符号运算一、实验目的1掌握Matlab多项式的运算。2了解符号运算。二、实验内容(边做实验,边将生成结果和图形拷贝到Word文档中)1将多项式化为x的降幂排列。2求一元高次方程的根。3求一元高次方程的根,并画出左边多项式函数在区间内的曲线。4求多项式和的乘积;并求的商和余式。5求的符号导数。6用符号运算求实验内容4中的的表达式。三、设计提示1关于多项式运算的函数有poly、roo
23、ts等。2多项式做加减运算时要注意等长度。3符号表达式的输入可以用字符串方式,也可以用sym函数。四、实验报告要求1编写实现第二节实验内容中所使用的函数文件,并记录相应的生成结果和图形。2对于多项式的结果应以多项式向量和多项式表达式两种方式记录。3书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。五、参考答案第1题:P=poly(2,-3,7,-1)结果:P = 1 -5 -19 29 42即:第2题:P1=1 -5 -30 150 273 -1365 -820 4100 576 -2880;x1=roots(P1)结果:x1 = 第3题:P2=1 0 -2 0 1;x
24、2=roots(P2)n=1;for x=-2:2 y(n)=sum(P2.*(x.(length(P2)-1):-1:0); % 或者 y(n)=x4-2*x2+1; n=n+1;endx=-2:2;plot(x,y)结果:(有重根!)x2 = + - + - 第4题:f1=1 3 5 7;f2=8 -6 4 -2;f=conv(f1,f2)f11=zeros(1,length(f)-length(f1),f1 % 补0,与f同维q,r=deconv(f-f11,f2)结果:f = 8 18 26 36 -28 18 -14即:f11 = 0 0 0 1 3 5 7q = r = 0 0 0
25、 0 第5题:y=x5+tan(4*x2)+3;diff(y)结果:ans =5*x4+8*(1+tan(4*x2)2)*x第6题:f1=sym(x3+3*x2+5*x+7);f2=sym(8*x3-6*x2+4*x-2);f=f1*f2collect(f)(f-f1)/f2collect(ans)结果:f =(x3+3*x2+5*x+7)*(8*x3-6*x2+4*x-2)f =8*x6+18*x5+26*x4+36*x3-28*x2+18*x-14h =(-21+8*x6+18*x5+26*x4+35*x3-31*x2+13*x)/(8*x3-6*x2+4*x-2)h =(-21+8*x6
26、+18*x5+26*x4+35*x3-31*x2+13*x)/(8*x3-6*x2+4*x-2)实验八:线性时不变系统的时域响应一、实验目的1掌握线性时不变系统的三种描述形式传递函数描述法、零极点增益描述法、状态空间描述法。2掌握三种描述形式之间的转换。3掌握连续和离散系统频率响应的求解。二、实验内容(边做实验,边将生成结果和图形拷贝到Word文档中)1生成20个点的单位脉冲信号、单位阶跃信号,并记录下函数命令和波形。2生成占空比为30的矩形波。3将连续系统转化为传递函数的形式,并显示其表达式。4将离散系统转化为零极点增益的描述形式,并显示其表达式。5分别求实验内容3和4的频率响应(对离散系统
27、取256样点,采样频率取8000Hz)。6分别求实验内容3和4的单位冲激响应(对离散系统,作60样点图)。三、设计提示1显示传递函数模型用tf(b,a);显示零极点增益模型用zpk(z,p,k)。注意:z、p为列向量。2连续系统频率响应用freqs函数;离散系统用freqz函数。3连续系统冲激响应用impulse函数;离散系统用impz函数。四、实验报告要求1编写实现第二节实验内容中所使用的函数文件,并记录相应的生成结果。2书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。五、参考答案第一题:k=-4:15x =zeros(1,4),1,zeros(1,15)subplot (1,2,1)stem(k,x)y=zeros(1,4),ones(1,16)subplot (1,2,2)stem(k,y)结果:第二题 f=2;t=0:2w=2*pi*f*ty=square(w,30)axis(0 2 0 2)hold onplot(t,y)结果:第3题:k=;z=1,-3;p=-1,-2,-4;sys_zpk=zpk(z,p,k)b,a=zp2tf(z,p,k);sys_tf=tf(b,a)结果:Zero/pole/gain: (s-1) (s+3)-(s
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1