《数学软件与数学实验》考试题型示例及答案

发布时间:2020-02-22 21:10:05

《数学软件与数学实验》考试题型示例

一、 单项选择题

1.利用赋值语句和表达式可完成某些复杂计算,例如在MATLAB命令窗口中键入命令,Vname=sum(2.^[0:63])/(4.0e+10),可计算出对应的数据,在这一语句中如果省略了变量名Vname及等号,MATLAB将用缺省变量名( )显示计算结果

Aeps     B ans;    CNaN;    Dpi

2下面有关MATLAB变量名和函数名的说法中,错误的说法是( )

(A) 变量名的第一个字符必须是一个英文字母

(B) 变量名可由英文字母、数字和下划线混合组成

(C) 变量名不得包含空格和标点,但可以有下连字符

(D) 变量名和函数名对于英文的大小使用没有区别

3.某城市电视塔地理位置:北纬3035.343分,东经1042.441分,在MATLAB中用变量B=[30 35.343]表达纬度,用L=[104 2.441]表达经度。为了将经纬度数据转化为以度为单位的实数,下面正确的语句是(

AP=B(1)+B(2)Q=L(1)+ L(2) BP = 60*B(1) + B(2)Q=60*L(1)+L(2)

CP=B(1)+B(2)/60Q=L(1)+L(2) DP = B(1) + B(2)/60Q=L(1)+L(2)/60

4.用MATLAB随机产生一个1020的正整数,应该使用下面的命令(

A60+fix(40*rand)B10+20*randC60+fix(100*rand)D10+round(10*rand)

5.用ABC表示三角形的三条边,MATLAB表示“任意两条边之和大于第三条边”的逻辑表达式正确的是(

A A+B>=C | A+C>=B | A+C>=B B A+B<=C | A+C<=B | A+C<=B

C A+B>C | A+C>B | B+C>A D A+B>C & A+C>B & B+C>A

6.在MATLAB命令窗口中,键入命令syms x y=int(3*x)。屏幕上将出现的结果是(

A 3/2*x^2   B3x^2/2   C1.5x^2   D1.5*x^2

7.在MATLAB命令窗口中,键入命令A=[1,2,3;4,5,6;7,8,0]A(1,:)*A(:,3)。屏幕上将出现的结果是(

A15  B30  C36  D69

8.正确表达命题AB都大于C的逻辑表达式应该用下面哪一行(

A A > C B B>C C A >C & B >C D A >C | B >C

9.如果已输入方阵A的数据,在MATLAB中用命令( )可计算出A的行列式的值

Adet(A) Beig(A) Cinv(A) Ddiag(A)

10.火炮发射炮弹的初始速度和发射角为已知,由此可估算出炮弹在空中的飞行时间Tfly使用语句Tspan=Tfly*(0:20)/20,将获得一些数据,下面不正确的说法是(

ATspan为包括发射时刻在内的炮弹在空间飞行的21个不同的飞行时刻;

BTspan中任意两个相邻数据之差的绝对值相等;

CTspan包含了21个数据,第一个数据为0,最后一个数据为Tfly

DTspan是一个等差数列,公差为Tfly/21

二、 程序阅读理解

1.解释下面程序的功能,并写出该程序所求解的数学问题

syms x y

y = dsolve('Dy=1/(1+x^2)-2*y^2','y(0) = 0','x')

ezplot(y)

2.下面程序的功能是绘制一空间区域的边界曲面。写出该空间区域的数学表达式并解释下面每行命令的具体作用。

r=(0:20)/20;theta=(0:72)*pi/36;

x=r'*cos(theta);y=r'*sin(theta);

z1=sqrt(x.^2+y.^2);

z2=1+sqrt(1-x.^2-y.^2);

mesh(x,y,z1),hold on

mesh(x,y,z2)

axis off

3传说古希腊曾流行瘟疫,人们为消除灾难求助于神。神说:把神庙中黄金祭台增容一倍,可消除瘟疫。当立方体祭台尺寸放大一倍后,瘟疫仍然流行。人们才知道体积并不是扩大了两倍。这个古希腊难题被称为倍立方体问题,在人类还没有认识到无理数时,企业界企图用有限位实数表示,就会犯下错误。数学实验程序验证了这个事实,程序运行后误差如右文本框所示

a=2^(1/3);

D=1;

for k=1:8

D=D*10;

b=fix(a*D)/D;

V(k)=b^3;

end

error=V’-2

(1) 程序中循环控制变量k1变量8,而变量D=10k的作用是( )

(A) a的小数点向右移D位取整;

(B) a的小数点向右移D位取整后再向左移D位;

(C) a的小数点向右移k位取整后再向左移k位;

(D) a的小数点向左移k位取整后再向右移k位;

(2) 程序中变量b存放的数据是( )

(A) a的小数点后第k位减1所得; (B) a的小数点k位后按四舍五入所得;

(C) a的小数点后第k位增1所得; (D) a的小数点k位后截断舍去所得。

三、 程序设计

1利用ezplot命令,画函数上的图形,写出MATLAB程序。

2.给定非负实数 a0b0满足a0b0,按递推公式(n = 012,……)

产生的数列{an}{bn}称为高斯算术-几何平均数列。试写出用for-end语句计算a10b10MATLAB程序。例如输入数据a0=5,b0=2;输出数据a=3.3290b= 3.3290

3.假设一个团队有n个人(n<365),“n个人之中至少有两人生日同一天”概率列表如下

n

30

40

50

60

P

0.7063

0.8912

0.9704

0.9941

编写程序模拟这一随机现象,程序功能如下:输入正整数n;产生n1~365的随机正整数,代表n个人的生日,输出n阶矩阵A(aij)n×n记录有两人生日相同这一事件,若第i个人与第j个人生日相同,则aij=1,否则aij=0。要求A是对称阵,且A的主对角元素为0

四、 程序填空

1.验证“哥德巴赫猜想”:任何一个正偶数(n>=6)均可表示为两个质数之和,如6=3+38=3+510=3+7;等等。(要求:编制一个函数,(1)输入(自变量):某个正偶数,返回值(函数值):这两个质数;(2)对输入的自变量是否是正偶数要作判断,若不是输出错误信息。)

function [y z] = gd(n)

% 哥德巴赫猜想验证函数 任意正偶数都可以分解为两个质数之和

%

% 输入:

% n - 任意正偶数

% 输出:

% y - 素数

% z - 素数

if % 判断输入是否为不小于6的偶数(提示:mod(m,n)命令求m除以的余数)

frpintf('输入错误!输入必须是大于等于6的偶数!')

return

end

for k = 2:n/2

if %判断是否都为素数(提示:isprimem)命令判断m是否为素数)

fprintf('Sucessful! The result is: \n %d = %d + %d\n', n, k, n-k) % 输出结果

% 退出循环

end

end

y = k; % 为输出变量y赋值

z = ; % 为输出变量z赋值

2反正切函数的Tylor级数展开式,取x = 1,可得用于计算的级数。当级数的通项绝对值小于给定的误差界errors时,则结束计算。

function z=adds(errors)

n=1;

an=1;

f=1;

S= ;①

while an>errors

n=n+2;

an=1/n;

f = -f;

S= ;②

end

z=S

《数学软件与数学实验》考试题型参考答案

一、单项选择题

1B 2D 3D 4D 5D

6A 7A 8C 9A 10D

二、程序阅读理解

1、用MATLAB的符号系统求解常微分方程初值问题

绘制微分方程解曲线

所求常微分方程初值问题为:

2、空间区域是冰淇棱锥

对半径r和极角theta离散化;

计算对应的xy;计算锥面z1的值;计算球面z2的值;

绘锥面网面并保持图形窗口不变;绘上半球面网面;去坐标轴

3DD

三、程序设计

1

syms x

f=(x^2)*(sin(x^2));

ezplot(f,[-pi,pi])

2

a0=5;b0=2;

for k=1:10

a=(a0+b0)/2;

b=sqrt(a0*b0);

a0=a;b0=b;

end

ab

3

N=input(‘input N:=’);

x=1+fix(365*rand(1,N));

A=zeros(N);

for i=1:N-1

xi=x(i);

for j=i+1:N

if xi==x(j),A(j,i)=1;end

end

end

A=A+A'

四、程序填空

1. n < 6 || mod(n,2) ~=0 isprime(k) && isprime(n-k)breakn-k

2. 1 ; s+f*an

《数学软件与数学实验》考试题型示例及答案

相关推荐