大学专业试题-Matlab期末考试及答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大学专业试题-Matlab期末考试及答案

一、填空题(一题3分,共15分)

1、标点符号可以使命令行不显示运算结果。

答案:%

2、x为0〜4,步长为0.1pi的向量,使用命令创建。

答案:x=0:0.1*pi:4。

3、输入矩阵A=[1 2 3;7 -5 8;9-1-7],使用全下标方式用A(2,2)取出元素“-5 ”,使

用单下标方式用取出元素“-5 ”。

答案:A (5)。

4、在while表达式,语句体,End循环语句中,表达式的值__时表示循环条件为真,体

语句将被执行,否则跳出该循环语句。

答案:非零。

5、要从键盘读入一个字符串并赋值给变量x,且给出提示“Hello",应使用命令—答案:x=input(‘Hello,;s')b

二、选择题(一题3分,共15分)

1、下列表示可以作为MATLAB的变量的是(D )

A. abcd-2

B. xyz_2#

C. @h

D. X_1_a

2、如果x=1: 2 : 8,则U x(1)和x(4)分别是(B )

A. 1, 8

B. 1,7

C. 2,8

D. 2,7

3、指出下列错误的指令(B)。

A.symsa b;

B. symsa, b;

C.syms('a',’b');

D. syms('a','b','positive');

4、下列哪条指令是求矩阵的行列式的值(C)。

A .inv B. diag C. det D.eig

5、清空Matlab工作空间内所有变量的指令是(C)。

A. clc

B.cls

C.clear

D. clf

三、程序分析题(一题10分,共20分)

1、分析下面程序运行后s1,n1,s2,n2,m的值。

s1=0;s2=0;n1=0;n2=0;

x=[1,-4,-8,3,10,-9,7,-3,10, 8,-5,-2,2,0 ]; m=length(x); fori=1:m

if x(i)<0

s1=s1+x(i); n1=n1+1; else

s2=s2+x(i); n2=n2+1;

end end

s1,n1,s2,n2,m

请回答s1,n1,s2,n2,m的结果。

答案:s1=-31, n1=6,s2=41,n2=8,m=14。

2、求出mysum的值

mysum=0;

i=1;

while(i<=100)

mysum=mysum+i;i=i+1;

end mysum

答:mysum = 5050

四、程序改错题(一题10分,共10分)

1.下面的语句用来判断一个人的体温是否处于危险状态(华氏温度),请找出错误并改正。temp=input('Enter temperature:')

if temp<97.5

disp('Temperaturebelow normal');

elseif temp>97.5 改正:temp>97.5 &temp<=99.5

disp('Temperaturenormal');

elseif temp>99.5 改正:temp>99..5 &temp<=103.0

disp('Temperatureslightly high');

else temp>103.0 改正:去掉temp>103.0

disp('Temperaturedangerously high');

end

五、程序编程题(共40分)

1、用MATLAB 编程求下列联立方程的解3x+4y-7z-12w=4 ;5x-7y+4z+2w=-3;x +8z- 5w=9 ;-

6x+5y-2z+10w=-8。求系数矩阵的秩,求出方程组的解。(5分)

答案:a=[3 4 -7 -12; 5 -742;108 -5; -65 -2 10];

c=[4; -3; 9;-8];

b=rank(a)

d=a\c

X=d(1)

Y=d(2)

Z=d(3)

W=d(4)

>> b = 4

x=-1.4841;y= -0.6816;z= 0.5337;w=-1.2429

2、编写函数文件求半径为r的圆的面积和周长。(5分) 答案:function

[s,p]=fcircle(r)

s=pi*r*r;

p=2*pi*r;

3、Fibonacci数列的各元素为:1、1、2、3、5、8、……,满足以下关系F1=1,

F2=1,Fn=Fn-1+Fn-2,用M函数文件实现,数列的元素个数为输入变量,且当某个元素大于50时,退出循环结构。(10分)

答案:

function f=shiyan5(n)

f(1)=1;f(2)=1;

for i=2:n

if f(i+1)>50 break;

end

end

4、从键盘输入任意个正整数,以0结束,输出那些正整数中的素数。(20分) 答案:

clc;clear;

zzs(1)=input('请输入正整数:’);

k=1;

n=0;%素数个数

while zzs(k)~=0

flag=0; %是否是素数,是则为1

foryz=2:sqrt(zzs(k)) %因子从2至此数平方根

if mod(zzs(k),yz)==0

flag=1;

break; %非素数跳出循环

end end

if flag==0&zzs(k)>1 %忽略0 和 1 的素数

n=n+1;sus(n)=zzs(k);

end k=k+1;

zzs(k)=input(请输入正整数:’);

end

disp(['你共输入了'num2str(k-1)’个正整数。它们是:'])

disp(zzs(1:k-1)) %不显示最后一个数0

if n==0

disp('这些数中没有素数!‛)%无素数时显示else

disp('其中的素数是:’)

disp(sus)

end

MATLAB试题

一、填空题。(每空1分,共20分) 1、MATLAB中(clc )用于清除指令窗中显示的内容,(clear )用于清除工作空间中保存的变量,(clf )用于清除图形窗

相关文档
最新文档