当前位置:首页 > Matlab-期末考试题库(共12套卷)
[ymin,Imin]=min(y);
xmin=x(ymin);→xmin=x(Imin);%(4)找到最小函数值对应的x值
四、编程题(30分)
1.自己设计一个m函数文件,用来画出椭圆x*x/16+y*y/9=1。(10分) 答案:
M文件的程序: %画椭圆
tt=0:0.02:2*pi;
xx=4*cos(tt);yy=3*sin(tt); axis equal
plot(xx,yy,'m*')
title('椭圆x^2/16+y^2/9=1')
2.在xy平面内选择区域[-8,8]×[-8,8],利用mesh、meshc、meshz和surf绘 制
答案:
x=-8:0.1:8; y=x;
[x,y]=meshgrid(x,y); m=sqrt(x.^2+y.^2); z=sin(m)./m; subplot(2,2,1); mesh(x,y,z); subplot(2,2,2); meshc(x,y,z); subplot(2,2,3); meshz(x,y,z); subplot(2,2,4); surf(x,y,z)
。要求用子图在一个图形窗口中绘制。
3.利用menu函数输入选择参数len,输入菜单的名称为“select an num”,根据len的取值分别给变量x赋不同的值。当len=1时,x的值为的值为4行3列全0矩阵;当len=2时,x的值为3行4列全为5的矩阵;当len=3时,x的值为5行3列均值为0,方差为1的正态分布的随机矩阵;当len=4时,x的值为字符串“not an array”; 当len为其它值时,则显示“Error”。要求使用switch函数。 答案:
len= menu('select a num','1','2','3','4', '5'); %3分
switch len % switch 语句格式写对2分 case 1
y=zeros(4,3); %1分 case 2
y=5.*ones(3,4); %1分 case 3
y=5+randn(5,3); %1分 case 4
y=’not an array’; %1分 otherwise
disp(‘Error’) %1分 end
第八套
一、填空题(一题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’)。
二、选择题(一题3分,共15分)
1、 下列表示可以作为MATLAB的变量的是( D )
A.abcd-2 B.xyz_2# C.@h D.X_1_a 2、如果x=1: 2 : 8,则x(1)和x(4)分别是( B )
A.1,8 B.1, 7 C.2, 8 D.2, 7 3、指出下列错误的指令(B)。
A.syms a b; B. syms a, 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); for i=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('Temperature below normal');
elseif temp>97.5 改正:temp>97.5 &temp<=99.5 disp('Temperature normal');
elseif temp>99.5 改正:temp>99..5 &temp<=103.0 disp('Temperature slightly high');
else temp>103.0 改正:去掉temp>103.0 disp('Temperature dangerously 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 -7 4 2 ;1 0 8 -5; -6 5 -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
共分享92篇相关文档