MATLAB入门试卷

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

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

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

资源描述

《MATLAB入门》试卷1一、多项选择题(每小题4分,每错选或漏选1个扣1分,共20分)1.在MATLAB环境下,下列字符串中,不能用作m文件名的有(A)EX_1;(B)File1;(C)Fun.1;(D)32.求解微分方程sin0dyyxdx的解析解的正确语句有(A)dsolve(‘Dy+y*sin(x)=0’);(B)y=dsolve(‘Dy+y*sinx=0’,’x’);(C)dsolve(‘Dy+y*sin(x)=0’,’x’);(D)y=dsolve(‘Dy+y*sinx=0’)3.正确的条件语句有(A)if0=x10;(B)if0=x&x10;(C)if0=xorx10;(D)if0=x|x104.在MATLAB命令窗口中键入命令X=2*eye(3);Y=ones(3);Z=det(X+Y)。将出现的结果是(A)7;(B)20;(C)0;(D)8;5.已建立的函数m文件file.m的第1行是functionf=fun(x),其中x是12的双精度变量,正确调用该函数的语句有(A)g=file([2,1]);(B)f=fun([2,1]);(C)x=[2,1],fun(x);(D)x=[2,1];file(x);二、程序填空(每空4分,共20分)1.输入四个不同的实数x1、x2、x3、x4,可产生四阶范德蒙行列式,用det()命令可计算出该行列式的值,程序如下functionD=vand(x1,x2,x3,x4)e=①;x=[x1,x2,x3,x4];A=[e;x;x.^2;x.^3];D=det(A);2.反正切函数的Taylor级数展开式210arctan(1)21nnnxxn,取x=1,可得用于计算的级数11114357。当级数的通项绝对值小于给定的误差界errors时,则结束计算。functionz=adds(errors)n=1;an=1;f=1;S=①;whileanerrorsn=n+2;an=1/n;f=-f;S=②;endz=S;3.角谷猜想:任给一个不等于1的正整数n,如果它是偶数则将它除以2,如果它是奇数则将它乘以3并加上1。如此重复操作,最后这个数总变为1。程序如下:n=input('inputn:=');disp(n)whilen~=1ifmod(n,2)==0n=①;elsen=②;endend三、程序阅读(15分)下面程序的功能是绘制曲面,给出x,y,z的行数和列数,写出该曲面的数学表达式并说明程序所用的数学原理。ruo=300;theta=2*pi*(0:1:40)/40;phi=pi*(0:2:40)’/40;x=ruo*sin(phi)*cos(theta);y=ruo*sin(phi)*sin(theta);z=ruo*cos(phi)*ones(size(theta));mesh(x,y,z)四、编写程序(30分)1.(20分)已知两个函数分段函数31,02,0sin,0xxyxxx和函数y=x4-4x3+3x+5(x[0,6])。(1)如何在同一个窗口、不同坐标系下作出这两幅图形,要求有标题,标注,给出相应的MATLAB程序。(2)若要求在第二个函数的图形上用小红点标出其在[0,6]之间的最小值点,并在最小值点附近标出该最小值点的坐标值,MATLAB程序应在原绘图程序后增加哪些语句,请写出这些语句。2.(10分)已知函数编写求f(x)二阶导数,并作出函数y=f(x)与y=f”(x)的图形的MATLAB程序,要求有标题,标注。五、综合题(15分)对于方程y/x=sin(2y),x=1,2,...,100。对于每个固定的x,方程总是存在正数解,我们记其中最小的正数解为y(x),也就是说,这个正数解由x唯一决定并形成一个函数关系y=y(x)。我们的目的是计算曲线y=y(x)和横坐标之间的面积(1≤x≤100)。试给出求该面积的方案和MATLAB程序。提示:X=FZERO(FUN,X0)triestofindazeroofthefunctionFUNnearX0,ifX0isascalar.FUNacceptsrealscalarinputXandreturnsarealscalarfunctionvalueF,evaluatedatX.《MATLAB入门》试卷1解答一、多项选择题(每小题4分,每错选或漏选1个扣1分,共20分)1.在MATLAB环境下,下列字符串中,不能用作m文件名的有C,D(A)EX_1;(B)File1;(C)Fun.1;(D)32.求解微分方程sin0dyyxdx的解析解的正确语句有B,C(A)dsolve(‘Dy+y*sin(x)=0’);(B)y=dsolve(‘Dy+y*sinx=0’,’x’);(C)dsolve(‘Dy+y*sin(x)=0’,’x’);(D)y=dsolve(‘Dy+y*sinx=0’)221()sin1xxxfxex3.正确的条件语句有B,D(A)if0=x10;(B)if0=x&x10;(C)if0=xorx10;(D)if0=x|x104.在MATLAB命令窗口中键入命令X=2*eye(3);Y=ones(3);Z=det(X+Y)。将出现的结果是B(A)7;(B)20;(C)0;(D)8;5.已建立的函数m文件file.m的第1行是functionf=fun(x),其中x是12的双精度变量,正确调用该函数的语句有A,D(A)g=file([2,1]);(B)f=fun([2,1]);(C)x=[2,1],fun(x);(D)x=[2,1];file(x);二、程序填空(每空4分,共20分)解:1.①ones(1,4);2.①1;②S+f*an;3.①n/2;②3*n+1;三、程序阅读(15分)下面程序的功能是绘制曲面,给出x,y,z的行数和列数,写出该曲面的数学表达式并说明程序所用的数学原理。ruo=300;theta=2*pi*(0:1:40)/40;phi=pi*(0:2:40)’/40;x=ruo*sin(phi)*cos(theta);y=ruo*sin(phi)*sin(theta);z=ruo*cos(phi)*ones(size(theta));mesh(x,y,z)解:(1)x,y,z的行数为21和列数为41(2)曲面的参数方程为],0[]2,0[)cos()sin()sin()cos()sin(zyx(3)程序中最后算出的x为cossincossincossincossincossincossincossincossincossincossincoscoscossinsinsin2122212121112121nmmmnnnmx其中m=21,n=41,nmmmm222111,nmnnn212121同理sinsinycosz可见x,y,z为参数方程所表示的曲面上的21行41列个网格节点的x,y,z坐标,用mesh(x,y,z)即可作出网格曲面图。四、编写程序(30分)1.(20分)已知两个函数分段函数31,02,0sin,0xxyxxx和函数y=x4-4x3+3x+5(x[0,6])。(1)如何在同一个窗口、不同坐标系下作出这两幅图形,要求有标题,标注,给出相应的MATLAB程序。(2)若要求在第二个函数的图形上用小红点标出其在[0,6]之间的最小值点,并在最小值点附近标出该最小值点的坐标值,MATLAB程序应在原绘图程序后增加哪些语句,请写出这些语句。解:(1)%求函数y=x4-4x3+3x+5的坐标x=linspace(0,6,100);y=x.^4-4*x.^3+3*x+5;%求分段函数的坐标x21=[-5:0.01:0];x22=[0:0.01:5];x2=[x21,0,x22];y21=sin(x21);y22=1-x21.^3;%作出它们的图形subplot(1,2,1)plot(x21,y21,x22,y22,0,1,'.',[0,0],[0,1],'o'),title('分段函数');xlabel('x'),ylabel('y');subplot(1,2,2)plot(x,y),title('x4-4x3+3x+5');xlabel('x'),ylabel('y');(2)[ymin,indexmin]=min(y);xmin=x(indexmin);txmin=num2str(xmin);tymin=num2str(ymin);holdonplot(xmin,ymin,'r.','markersize',15);tmin=char('minimum',['x=',txmin],['y=',tymin]);text(xmin-1,ymin-45,tmin)2.(10分)已知函数编写求f(x)二阶导数,并作出函数y=f(x)与y=f”(x)的图形的MATLAB程序,要求有标题,标注。解:%求函数f(x)的二阶导数symsxy=(x^2+2*x-1)/(exp(-x)*sin(x)+1);ddy=diff(y,2);%求函数及其二阶导数的坐标xdata=linspace(0,2*pi,30);221()sin1xxxfxexfork=1:length(xdata)x=xdata(k);ydata(k)=eval(y);ddydata(k)=eval(ddy);end%作出它们的图形plot(xdata,ydata,’r’,xdata,ddydata,’b’)gtext(‘y=f(x)’);gtext(‘y=f’(x)’);xlabel('x'),ylabel('y');title('Thecurvesofy=(x^2+2*x-1)/(exp(-x)*sin(x)+1)anditsseconddifferencefunction')六、综合题(15分)对于方程y/x=sin(2y),x=1,2,...,100。对于每个固定的x,方程总是存在正数解,我们记其中最小的正数解为y(x),也就是说,这个正数解由x唯一决定并形成一个函数关系y=y(x)。我们的目的是计算曲线y=y(x)和横坐标之间的面积(1≤x≤100)。试给出求该面积的方案和MATLAB程序。提示:X=FZERO(FUN,X0)triestofindazeroofthefunctionFUNnearX0,ifX0isascalar.FUNacceptsrealscalarinputXandreturnsarealscalarfunctionvalueF,evaluatedatX.解:曲线y=y(x)和横坐标之间的面积为],[,1001)()(121011001iiinniiixxxxxxxydxxyS第一步,计算y(1)到y(100)。程序如下:functionsf=fun(y,x)f=y/x-sin(2*y);主程序如下编写:y=zeros(1,100);fori=1:100y(i)=fzero(@(y)myfun(y,i),pi/2)end第二步,计算数值积分x=1:100;A=trapz(x,y)

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

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

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

×
保存成功