MATLAB试卷+答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页(共12页)学习中心/函授站_姓名学号西安电子科技大学网络与继续教育学院2015学年上学期《MATLAB与系统仿真》期末考试试题(综合大作业)题号一二三总分题分251263得分考试说明:1、大作业于2015年4月3日公布,2015年5月9日前在线提交;2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。3、程序设计题(三(8,10))要求写出完整的程序代码,并在matlab软件环境调试并运行通过,连同运行结果一并附上。一、填空题(1’×25=25’)1、Matlab的全称为MATrixLABoratory。2、在Matlab编辑器中运行程序的快捷键是:F5。3、Matlab的工作界面主要由以下五个部分组成,它们分别是:Commandwindow(指令窗口、Currentdirectory(当前路径浏览器)、Workspace(工作台窗口)、Commandhistory(指令历史窗口)和Launchpad(发布平台)。4、在Matlab中inf表示:无穷大;clc表示:清除当前Commandwindow区域内容;more表示:显示命令窗口输出一个整个萤幕的时间;who表示:返回当前工作空间中所有变量名;whos表示:返回当前工作空间中所有变量,以及它们的名字、尺寸、所占字节数、属性等信息。5、在Matlab命令窗口中运行命令Simulink可以打开Simulink模块库浏览器窗口。6、求矩阵行列式的函数:det;求矩阵特征值和特征向量的函数eig。7、Matlab预定义变量ans表示:当前未定义变量和变量名的答案;eps表示:浮点相对精度(其值是从1.0到下一个最大浮点数之间的差值);nargin表示:函数的输入变量的个数。8、Matlab提供了两种方法进行程序分析和优化,分别为:提高程序运算速度和减少内存空间。(不确定是否正确)9、建立结构数组或转换结构数组的函数为:struct第2页(共12页)实现Fourier变换在Matlab中的对应函数为:fft;Laplace变换的函数:laplace。10、MATLAB编写的程序文件称为M文件,M文件有脚本文件和函数文件两种。二、简答题(3’×4=12’)1、简述MATLAB命令窗的主要作用?答:MATLAB的命令窗口(CommandWindow)用于输入命令并显示除图形以外的所有执行结果,是MATLAB的主要交互窗口。2、描述在Matlab中矩阵运算的含义,如A*B,A.*B表示什么运算过程?答:MATLAB中矩阵算术运算包括基本算术运算和点运算。基本算数运算是在矩阵意义下进行的(当个数据的算术运算只是一种特例),如矩阵m*n维矩阵A和n*m维矩阵B相乘A*B得到一个m*m维矩阵。矩阵点运算是指他们对应元素进行相关运算,要求两矩阵的维数相同,如m*n维矩阵A和m*n维矩阵B点乘A.*B得到一个m*n为矩阵。3、分析以下函数执行过程,回答问题:functionc=testarg1(a,b)if(nargin==1)c=a.^2;elseif(nargin==2)c=a+b;end如果用户使用一个参数调用函数testarg1,函数执行什么功能?如果使用两个参数调用函数testarg1,函数又执行什么?答:题干程序中nargin是判断输入参数个数,根据不同输入参数执行不同操作。如果用户使用一个参数(a)调用函数testarg1,函数执行c=a.^2。如果使用两个参数(a,b)调用函数testarg1,函数执行c=a+b。4、新建Simulink仿真模型文件的方法是什么?答:(1)、首先打开SIMULINK模块库:在MATLAB工作界面的工具条单击SIMULINK图标,或在MATLAB指令窗口中运行simulink,就可引出SIMULINK模块浏览器。(2)、新建模型窗:单击SIMULINK模块库浏览器工具条上的新建图标,引出空白模型窗。(3)、添加元器件并保存:从模块库中找到所要的元器件,拖到模型窗中,连线并保存文件即可。5、简述绘制二维图形的一般步骤?答:首先定义自变量x的范围及步长;然后需要或者按一定的函数关系求得第二维变量的值y;最后利用绘制二维图形函数如:plot(x,y)即可绘制出x与y的二位图形。6、简述脚本M文件和函数M文件的区别?答:(1)、M函数文件一般都要带参数,都要有返回结果,而M脚本文件文件没有参数与返回结果第3页(共12页)(2)、M函数文件的变量是局部变量,运行期间有效,运行完毕就自动被清除,而命令文件的变量是全局变量,执行完毕后仍被保存在内存中(3)、M函数文件要定义函数名,且保存该函数文件的文件名必须是函数名.m。M函数文件可以有多个因变量和多个自变量,当有多个因变量时用[]括起来。三、程序设计及分析(1-2每题4’,3-9每题5’,10题20’,共63’)1、将下列字符矩阵S转换为数字矩阵('1''2''3''4'S)?S=['1''2';'3''4']%输入字符矩阵S=1234N=str2num(S)%将字符矩阵转换为数字矩阵N=12342、把矩阵A,B分别在垂直方向,水平方向连接,A=[123],B=[456]?A=[123];B=[456];H=[A,B]%将A,B在水平方向连接H=123456V=[A';B']%将A,B在垂直方向连接V=12345第4页(共12页)63、编程实现函数3()25fxxx的根?p=[10-2-5];x=roots(p)x=2.0946-1.0473+1.1359i-1.0473-1.1359i4、编程实现一元二次方程20axbxc?程序如下:clearclcdisp('求方程:a*x^2+b*x+c=0的解');disp('请输入a,b,c的值:');a=input('a=');b=input('b=');c=input('c=');deta=b*b-4*a*c;ifdeta0disp('该方程有两个不相等的实数根');elseifdeta==0disp('该方程有两个相等的实数根');elsedisp('该方程有两个共轭复根');endx=[(-b+sqrt(deta))/2/a;(-b-sqrt(deta))/2/a]运行结果如下:求方程:a*x^2+b*x+c=0的解请输入a,b,c的值:a=1b=4c=1该方程有两个不相等的实数根x=第5页(共12页)-0.2679-3.73215、求()1020xfxx在00.5x附近的根?%牛顿迭代法解方程y=x-10^x+2在x0=0.5附近的根x0=0.5;formatlong;x=x0-f(x0)/f_(x0);if(abs(x)0.5)delt=abs(x-x0);elsedelt=abs((x-x0)/x);endwhile(delt1e-6|abs(f(x0))1e-6)x0=x;x=x0-f(x0)/f_(x0);if(abs(x)0.5)delt=abs(x-x0);elsedelt=abs((x-x0)/x);endiff(x)==0breakendenddisp('解方程y=x-10^x+2,牛顿迭代法结果')xfunctiony=func1_1(x)y=x-10.^x+2;运行结果如下:解方程y=x-10^x+2,牛顿迭代法结果x=0.3758120875934266、绘制函数图形:1sin(),2cos()yxyx。要求:(1)0,2x;(2)数据采样间隔/50?(3)设置网格;(4)添加图形标注;第6页(共12页)(5)两幅图叠加在一张图中。程序如下:clearclcx=0:pi/50:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'r');holdonplot(x,y2,'b');gridonlegend('y1=sin(x)','y2=cos(x)');运行结果如下:01234567-1-0.8-0.6-0.4-0.200.20.40.60.81y1=sin(x)y2=cos(x)7、分析以下程序执行后的效果?x=-2:0.2:2;y=x;[x,y]=meshgrid(x,y);z=x.*exp(-x.^2-x.^2);mesh(x,y,z);题干可能有误:如果z=x.*exp(-x.^2-x.^2);结果如下:第7页(共12页)-2-1012-2-1012-0.4-0.200.20.4如果z=x.*exp(-x.^2-y.^2);结果如下:分析:该程序的作用是以x,y为自变量,z为因变量,画出3维曲面-2-1012-2-1012-0.500.58、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及标注图例。(要求附上运行结果)第8页(共12页)clearclcx=0:pi/100:4*pi;y1=sin(x);y2=cos(x);plot(x,y1,'r-');holdonplot(x,y2,'g--');fori=1:length(x)delt=abs(y1(i)-y2(i));ifdelt=1e-2holdonplot(x(i),y1(i),'k*');endendlegend('y1=sin(x)','y2=cos(x)','Á½ÇúÏß½»µã');02468101214-1-0.8-0.6-0.4-0.200.20.40.60.81y1=sin(x)y2=cos(x)两曲线交点9、编写一个实现n阶乘的函数。function[s]=fun(n)s=1;fori=1:ns=s*i;end第9页(共12页)10、已知矩阵n=10+自己的真实学号,22(),ijnnijAaaij,试编写一个m文件完成以下问题:(要求附上程序运行结果)(1)求A的行列式;(2)求A的秩;(3)画出A的每个行向量的图形;(4)查看A的大小(即行、列数);(5)计算A的第11行与第11列的乘积;(6)用一个二次函数去拟合A的最后一行向量,画出图形;(7)计算A的每行的和,用条形图把该和向量描绘出来,加上轴标签和图形标题;(8)计算A的特征值和特征向量;(9)计算A的迹、逆和范数;(10)查看*TAA的右下角元素nna的值。(TA为A的转置矩阵)自己的真实学号如实输入就OK了,这里假设学号是5,到时候自己改clearclcdisp('请输入自己的学号');x=input('x=');n=10+x;A=zeros(n,n);fori=1:nforj=1:nA(i,j)=i^2+j^2;endend(1)d=det(A);d=-1.059683846499320e-174(2)r=rank(A);r=2(3)fori=1:size(A,1)plot(A(i,:))holdonendholdoff第10页(共12页)051015050100150200250300350400450(4)[nr,nc]=size(A);nr=15nc=15(5)P=A(11,:)*A(:,11);P=698007(6)x=1:n;y=A(end,:);z=polyfit(x,y,2)w=polyval(z,x);plot(x,y,'k+',x,w,'r')第11页(共12页)051015200250300350400450500(7)S=sum(A,2);bar(S);xlabel('行数');ylabel('不同行的和');title('矩阵A每行的和')1234567891011121314150500100015002000250030003500400045005000行数不同行的和矩阵A每行的和第12页(共12页)(8)[V,D]=eig(A);(9)T=trace(A);A_=inv(A);N=norm(A);T=2480N=2.875444893599292e+003(10)B=A'*A;a=B(end,end);a=1495687

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功