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

更新时间:2023-11-14 22:33:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

一、单项选择题

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

A)eps; B) ans; C)NaN; D)pi

2.下面有关MATLAB变量名和函数名的说法中,错误的说法是( ) (A) 变量名的第一个字符必须是一个英文字母 (B) 变量名可由英文字母、数字和下划线混合组成 (C) 变量名不得包含空格和标点,但可以有下连字符 (D) 变量名和函数名对于英文的大小使用没有区别

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

A)P=B(1)+B(2),Q=L(1)+ L(2); B)P = 60*B(1) + B(2),Q=60*L(1)+L(2); C)P=B(1)+B(2)/60,Q=L(1)+L(2); D)P = B(1) + B(2)/60,Q=L(1)+L(2)/60。

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

A)60+fix(40*rand);B)10+20*rand;C)60+fix(100*rand);D)10+round(10*rand)

5.用A、B、C表示三角形的三条边,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; B)3x^2/2; C)1.5x^2; D)1.5*x^2;

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

A)15; B)30; C)36; D)69;

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

A) A > C; B) B>C; C) A >C & B >C; D) A >C | B >C;

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

A)det(A); B)eig(A); C)inv(A); D)diag(A)

10.火炮发射炮弹的初始速度和发射角为已知,由此可估算出炮弹在空中的飞行时间Tfly,

使用语句Tspan=Tfly*(0:20)/20,将获得一些数据,下面不正确的说法是( )

A)Tspan为包括发射时刻在内的炮弹在空间飞行的21个不同的飞行时刻; B)Tspan中任意两个相邻数据之差的绝对值相等;

C)Tspan包含了21个数据,第一个数据为0,最后一个数据为Tfly; D)Tspan是一个等差数列,公差为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.传说古希腊曾流行瘟疫,人们为消除灾难求助于神。神说:把神庙中黄金祭台增容一倍,可消除瘟疫。当立方体祭台尺寸放大一倍后,瘟疫仍然流行。人们才知道体积并不是扩大了两倍。这个古希腊难题被称为倍立方体问题,在人类还没有认识到无理数时,企业界企图用有限位实数表示2,就会犯下错误。数学实验程序验证了这个事实,程序运行后误差如右文本框所示 error=-2.7200e-001 a=2^(1/3); -4.6875e-002 D=1; -4.3830e-003 for k=1:8 -1.0024e-004 D=D*10; -4.9998e-006 b=fix(a*D)/D; -2.3761e-007 V(k)=b^3; -2.3761e-007 end -4.7121e-008 error=V’-2

(1) 程序中循环控制变量k从1变量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位后截断舍去所得。

3

三、程序设计

1.利用ezplot命令,画函数f(x)?x2sinx2在[??,?]上的图形,写出MATLAB程序。

1?a?(an?bn)?n?122.给定非负实数 a0,b0满足a0≠b0,按递推公式? (n = 0,1,2,??)

?b?abnn?n?1产生的数列{an},{bn}称为高斯算术-几何平均数列。试写出用for-end语句计算a10和b10

的MATLAB程序。例如输入数据a0=5,b0=2;输出数据a=3.3290,b= 3.3290。

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

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

四、程序填空

1.验证“哥德巴赫猜想”:任何一个正偶数(n>=6)均可表示为两个质数之和,如6=3+3;8=3+5;10=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 %判断是否都为素数(提示:isprime(m)命令判断m是否为素数)

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

% 退出循环 end end

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

x2n?1arctanx??(?1)2n?1,取x = 1,可得用于计算n?02.反正切函数的Tylor级数展开式

?n?的级数4束计算。

?1?111????357。当级数的通项绝对值小于给定的误差界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;

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

一、单项选择题

1、B; 2、D; 3、D; 4、D; 5、D; 6、A; 7、A; 8、C; 9、A; 10、D 二、程序阅读理解

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

绘制微分方程解曲线

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

1?2?y??2y? 1?x2???y(0)?02、空间区域是冰淇棱锥

D?{(x,y,z)|z?x2?y2&z?1?1?x2?y2}

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

计算对应的x和y;计算锥面z1的值;计算球面z2的值; 绘锥面网面并保持图形窗口不变;绘上半球面网面;去坐标轴

3.D,D

三、程序设计 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 a,b 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);break;n-k;

2. 1 ; s+f*an

本文来源:https://www.bwwdw.com/article/yvmv.html

Top