MATLAB入门试卷

发布 2023-12-21 09:55:12 阅读 2870

一、多项选择题(每小题4分,每错选或漏选1个扣1分,共20分)1.在matlab环境下,下列字符串中,不能用作m文件名的有(a)ex_1;(b)file1;(c)fun.1;(d)32.求解微分方程的解析解的正确语句有(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=4.在matlab命令窗口中键入命令x=2*eye(3);y=ones(3);z=det(x+y)。将出现的结果是(a)7;(b)20;(c)0;(d)8;

5.已建立的函数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()命令可计算出该行列式的值,程序如下function d=vand(x1,x2,x3,x4)e=①;

x=[x1,x2,x3,x4];a=[e;x;x.^2;x.^3];d=det(a);

2.反正切函数的taylor级数展开式,取x = 1,可得用于计算的级数。当级数的通项绝对值小于给定的误差界errors时,则结束计算。function z=adds(errors)n=1;an=1;f=1;s=①;

while an>errorsn=n+2;an=1/n;f=-f;s=②;endz=s;

3.角谷猜想:任给一个不等于1的正整数n,如果它是偶数则将它除以2,如果它是奇数则将它乘以3并加上1。如此重复操作,最后这个数总变为1。

程序如下:n=input('input n:='disp(n)while n~=1

if mod(n,2)==0

n=①;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分)已知两个函数。

分段函数和函数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) tries to find a zero of the function fun near x0,if x0 is a scalar. funaccepts real scalar input x and returns a real scalar function value f, evaluated at x.

matlab入门》试卷1解答。

一、多项选择题(每小题4分,每错选或漏选1个扣1分,共20分)1.在matlab环境下,下列字符串中,不能用作m文件名的有c, d(a)ex_1;(b)file1;(c)fun.1;(d)3

2.求解微分方程的解析解的正确语句有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’)3.正确的条件语句有b, d(a)if0=(d)if0=4.在matlab命令窗口中键入命令x=2*eye(3);y=ones(3);z=det(x+y)。将出现的结果是b(a)7;(b)20;(c)0;(d)8;

5.已建立的函数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)曲面的参数方程为。

3)程序中最后算出的x为其中。

m=21, n=41,,同理。

可见x,y,z为参数方程所表示的曲面上的21行41列个网格节点的x,y,z坐标,用mesh(x,y,z)即可作出网格曲面图。四、编写程序(30分)1.(20分)已知两个函数。

分段函数和函数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');

ymin,indexmin]=min(y);xmin=x(indexmin);txmin=num2str(xmin);tymin=num2str(ymin);hold on

plot(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)的二阶导数syms x

y=(x^2+2*x-1)/(exp(-x)*sin(x)+1);ddy=diff(y,2);

求函数及其二阶导数的坐标xdata=linspace(0,2*pi,30);for k=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('the curves of y=(x^2+2*x-1)/(exp(-x)*sin(x)+1) and its second difference function')综合题(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) tries to find a zero of the function fun near x0,if x0 is a scalar. fun

accepts real scalar input x and returns a real scalar function value f, evaluated at x.解:曲线y=y(x)和横坐标之间的面积为。

第一步,计算y(1)到y(100)。程序如下:functions f=fun(y,x)f=y/x-sin(2*y);主程序如下编写:

y=zeros(1,100);for i=1:100

y(i)=fzero(@(y) myfun(y,i),pi/2)end

第二步,计算数值积分x=1:100;a=trapz(x,y)

matlab试卷

线 号 座 封 密 名线 姓 班封 系 密 题号一。二。三。四。五。六。七。八。总分。复核人得分。评卷人。一 计算 共25分 设a 1,2,3 4,5,9 6,3,8 b 2,6,1 3,2,7 4,8,1 1 求a.b 4分 a.b 2 求a.2 4分 a.2 3 求2 a 4分 14 12 a ...

matlab试卷

2.下列说法错误的是。a 大部分程序都可以由顺序结构 选择结构和循环结构构成,但是有些必须用专门的程序结构构成,比如递归结构,循环嵌套结构等等。b 同阶方阵a和b的运算中,a b与b a运算结果相等。c matlab在函数调用上有一个与一般高级语言不通之处,就是函数所传递参数数目的可调性。凭借这一点...

Matlab试卷

一 填空题 本大题共3小题,每空4分,共20分 1 matlab中指令的续行符。2 表达式的计算机表示。3 等差向量产生命令为 1 vec1 10 5 40,那么 vec1 2 vec2 40 5 10,那么 vec2 3 vec3 linspace 10,50,6 那么 vec3 100 二 给出...