科学计算实践期末考试
- 格式:doc
- 大小:249.50 KB
- 文档页数:8
云南大学2012至2013学年上学期《科学计算实践》期末考试(上机)试卷A卷满分100分考试时间:120分钟任课教师:李波学院:信息学院专业:通信工程学号:姓名:考试说明:(1)提交的试卷的文件名称是姓名_学号.doc。
(2)确认word菜单栏中有notebook选项,如果没有,请启动Matlab,并在指令窗口中输入notebook –setup指令,在菜单中输入3;然后再输入notebook指令。
最后在启动的word中打开本文档。
(3)对于本文档中出现的需要用matlab计算的指令,先执行notebook-Define Input Cell菜单项,然后执行notebook-Evaluate cell菜单项。
(4)指令执行过程中如果出现错误,请检查是否存在拼写或者使用中文标点的错误。
(5)要求将所有的代码和运行结果都放在本Word文档中。
(6)只有试卷已经被确认提交之后,才能够关闭电脑和离开教室。
(7)请注意在考试过程中保存中间结果,以免因电脑死机等原因导致的意外。
一、单项选择题(本题共10个小题,每题3分,共30分)1.在MATLAB命令窗口中,要了解当前工作空间中所有变量的详细情况应该使用下面的哪一条命令( B)A)help whos;B)whos;C)help who;D)who2.在MATLAB命令窗口中键入两条命令:A=[1,2,3;4,5,6;7,8,0];和A(1,:)*A(:,3),屏幕将显示的结果会是下面的( D)所对应的数据A)30;B)36;C)42;D)153.用MATLAB随机产生一个10到100的正整数,应该使用下面的哪一条命令 AA)10+fix(90*rand);B)10+fix(101*rand);C)10+fix(100*rand);D)10+fix(91*rand)4.在MATLAB中程序或语句的执行结果都可以用不同格式显示,format是用于控制数据输出格式命令。
将数据结果显示为15位浮点格式的形式,用下面的哪一命令( B)A)format long;B)format long e;C)format bank;D)fromat rat5.利用赋值语句和表达式可完成某些复杂计算,例如在MATLAB命令窗口中键入命令,Vname=sum(2.^[0:63])/(4.0e+10),可计算出对应的数据,在这一语句中如果省略了变量名Vname及等号,MATLAB将用缺省变量名( B)显示计算结果A)eps;B)ans;C)NaN;D)pi6.正确表达命题A和B都大于C的逻辑表达式应该用下面哪一行(C )A) A > C; B) B>C; C) A >C & B >C; D) A >C | B >C;7.如果已输入方阵A的数据,在MATLAB中用命令(A )可计算出A的行列式的值A)det(A);B)eig(A);C)inv(A);D)diag(A)8 在二维图形绘制指令中,用于绘制阶梯图的指令是(D)A)plot;B)bar;C)area;D)stairs9 在数值积分过程中,可以实现计算精度可控的积分指令是(B ) A )trapz ; B )quad ; C )sum ; D )fminbnd10 在常用逻辑函数中,可用于进行判断一个矩阵是否为空阵的指令是(C ) A )all ; B )false ; C )isempty ; D )isfinite二、计算题,写出完整的计算步骤。
(本题共4个小题,每题5分,共20分)1 用符号计算方法求函数ny x =的一阶导数。
syms x n >> y=x^n y = x^n>> dy=diff(y ,x,1) dy = x^n*n/x2.求符号矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333231232221131211a a a a a a a a a A 的行列式值和逆。
A =[ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA =a11*a22*a33-a11*a23*a32-a21*a12*a33+a21*a13*a32+a31*a12*a23-a31*a13*a22 IAs =[ (a22*a33-a23*a32)/d, -(a12*a33-a13*a32)/d, (a12*a23-a13*a22)/d] [ -(a21*a33-a23*a31)/d, (a11*a33-a13*a31)/d, -(a11*a23-a13*a21)/d] [ (a21*a32-a22*a31)/d, -(a11*a32-a12*a31)/d, (a11*a22-a12*a21)/d] d =a11*a22*a33-a11*a23*a32-a21*a12*a33+a21*a13*a32+a31*a12*a23-a31*a13*a223.计算复数数组A=17422437i i i i --⎡⎤⎢⎥--⎣⎦的实部、虚部和模。
A=[1-7*i,4-2*i;2-4*i,3-7*i] A =1.0000 - 7.0000i 4.0000 -2.0000i 2.0000 - 4.0000i3.0000 - 7.0000i >> B=real(A) B =1 423 C=imag(A) C =-7 -2 -4 -7>> d=abs(A) d =7.0711 4.4721 4.4721 7.61584.求一阶微分方程2,(0)2x at bt x =+='的解。
s=dsolve('a*t^2+b*t-x^t=0','x(0)=2','t')三、应用题,请根据题目要求完成相应功能。
(本题共2个小题,每题10分,共20分) 1已知函数文件charray .m 和mydemo.m 分别如下Charray .m 函数文件如下:function fout=charray(a,b,c) if nargin==1 fout=a;elseif nargin==2 fout=a-b; elseif nargin==3fout=(a*b*c)/rand(1);endMydemo.m 文件如下:x=[2:4]; y=[1;2;3];a=charray(x)b=charray(x,y')c=charray(x,y,3)请在matlab中编辑出上述两个文件,然后分别给出a,b和c的运行结果。
a =2 3 4b =1 1 1c =63.1493a =2 3 4b =1 1 1c =259.58462、先运行指令x=-3*pi:pi/15:3*pi; y=x; [X,Y]=meshgrid(x,y); warning off; Z=sin(X).*sin(Y)./X./Y;产生矩阵Z。
(1)用指令surf(X,Y,Z); shading interp观察所绘的图形,图形有何缺陷,产生的原因是什么?(5分)(2)如何修正上面的指令,画出正确图形(5分)答:(1)图形缺陷是在x=0或者y=0处,图形并没有显现出来,产生的原因是因为在Z=sin(X).*sin(Y)./X./Y中X和Y无法取到零。
(2)正确指令为:x=-3*pi:pi/15:3*pi;y=x;[X,Y]=meshgrid(x,y);XX=X+(X==0)*eps;YY=Y+(Y==0)*eps;ZZ=sin(XX).*sin(YY)./XX./YY ; surf(XX,YY ,ZZ),shading interp-1010四、计算和程序设计题。
(本题共3个小题,每题10分,共30分) 1、 求[1,100]之间能够被17整除的所有整数。
a=1:100; for i=1:100if mod(a(i),17)==0 s=a(i); end s end s= 17 s= 34 s=51 s= 68 s= 852 x=rand(1); 请分别写出用for 循环语句、while 循环语句和不使用循环的数值计算方法求解下面式子。
100nn ok x==∑注意:不要显示计算的中间结果。
FOR 循环 x=rand(1) x = 0.9501 S=x;SUM=1; for i=0:100SUM=SUM+S; S=S*x; end SUM SUM =19.9432 WHILE 循环S=0.9501; SUM=1; i=0; while i<=100SUM=SUM+S; S=S*0.9501; i=i+1; end SUM SUM =19.9318非循环结构N=100; S=zeros(1,N);k=0:N;S=0.9501.^k;sum(S)ans =19.92623 已知x=[1,3,2,7,5,9,4,8,6,10],请给出一个程序将x中的元素按照从小到大的顺序排序。
x=[1,3,2,7,5,9,4,8,6,10];for i=2:10if x(i)<x(i-1)t=x(i-1);x(i-1)=x(i);x(i)=t;endendx。