MATLAB期末考试试题
一、填空(30分)
1. 表达式 (3>2)*(5~=5)的类型是( double )。 2. 表达式 (5<2)*120的值是( 0 )。 3. 表达式 (5>2)*(6~=5)的值是( 1 )。 4. 表达式 char(65)=='A' 的值是( 1 )。 5. 表达式 char(65)+1 的值是( 66 )。 6. 表达式 'A'+1的值是( 66 )。 7. 表达式 'A'+'B' 的值是( 131 )。 8. 存储double型数据占用内存( 8 )字节。 9. 存储single型数据占用内存( 4 )字节。 10. 清除命令窗口内容的命令是( clc )。 11. 删除工作空间中保存的变量x的命令是( clear x )。
12. 将双精度实数的显示格式设置成15位定点小数格式的命令是( format long )。
13. 将横坐标轴标签设置成“时间(秒)”的语句是(xlabel('时间(秒)') )。 14. 设置图例的Matlab库函数名是( legend )。 15. 绘制三维线图的Matlab库函数名是( plot3 )。
二、选择题(30分)
1. 执行语句x=55后,Matlab将创建变量x,为其分配的存储空间的大小为( C )
A)2字节 B)4字节 C)8字节 D)16字节
2. 执行语句y=66后,Matlab将创建变量y,其类型为(D ) A)int8 B)int16 C)single D)double
3. 下列整数类型中,不能参与任何运算的类型为( D ) A)int8 B)int16 C)int32 D)int64
4. 设已执行语句x=3>2; y=x>0后,下面表达式中错误的是( D ) A)x+y B)x-y C)x*y D)x/y
5. 下列的数组写法中错误的是( C )
A)[1:9] B)1:9 C)[1:2:9;2:2:8] D)[1:3;4:6;7:9]
6. 设有数组定义:x=[1,2,3,4,5,6], y=x' ,下列表达式中正确的是( D )
A)y+x B)y-x C)y./x B)y*x
7. 执行语句for x=1:2:10, disp(x), end,循环体将执行几次( B )
A)10次 B)5次 C)1次 D)0次
8. 函数首部格式为function [out1,out2]=myfunc(in1,in2),不正确的调用格式是( C )
A)[x,y]=myfunc() B)myfunc(a,b) C)[x,y]=myfunc(a) D)x=myfunc(a,b) 9. 语句 x=-1:0.1:1;
plot([x+i*exp(-x.^2);x+i*exp(-2*x.^2);x+i*exp(-4*x.^2)]' ),绘制( B )
A)1条曲线 B)3条曲线 C)21条曲线 D)0条曲线 10. 下列哪条指令是求矩阵的行列式的值 ( C ) A) inv B) diag C) det D) eig
三、解答题(40分)
1.已知多项式f(x)?3x5?x4?2x3?x2?3,g(x)?13x3?x2?3x?1,写出计算下列问题的MATLAB命令序列 (1)f(x)的根
解:>> p1=[3,-1,2,1,3];
>> x=roots(p1) x =
0.6833 + 0.9251i 0.6833 - 0.9251i -0.5166 + 0.6994i -0.5166 - 0.6994i (2)g(x)在闭区间[-1,2]上的最小值 解
:
[y,min]=fminbnd(@(x)((1/3)*x.^3+x.^2-3*x-1),-1,2)
y =
1.0000
min =
-2.6667
>>
2.已知 y=eax-e2-axsin(x+a)+a?lnx+a2, 写出完成下列任务的MATLAB命令
序列。 (1)当a=0.3, x=1+π4i 时,求y的值
解:>> a=0.3;
>> x=1+i*pi/4; >>
y=(exp(a*x)-exp(-a*x))/2*sin(x+a)+a*log((x+a)/2)
y =
0.2387 + 0.5433i
(2)取a=0.02, x在区间[0, 12π], 取样间隔为0.01, 绘制函数曲线
解:>> a=0.02;
>> x=0:0.01:12*pi; >>
y=((exp(a*x)-exp(-a*x))/2).*sin(x+a)+a*log((x+a)/2);
>> plot(x,y)
2nx2x4x6n-1x3.写出计算级数S=1-+-+?+(-1)+? 前n+1项和的命2!4!6!(2n)!令序列,取 n=100, x=pi/3。 解:>> x=pi/3;
>> n=100; >> r=0:2:2*n;
>> sng=ones(size(r)); >> sng(2:2:end)=-1;
>> S=sum(sng.*x.^r./factorial(r)) S =
0.5000
4.判断下列线性方程组有唯一解,然后解之。写出MATLAB命令序列。
(1)用矩阵表示为:AX=B;
A=[2,-1,0,0,0;-1,2,-1,0,0;0,-1,2,-1,0;0,0,-1,2,-1;0,0,0,-1,2]; B=[1;0;0;0;0];
(2)计算rank(A)和rank([A,B]),若两者相等,则存在唯一解; rank(A)=5 rank([A,B])=5
(3)X=inv(A)*B,求出X的值。 X=inv(A)*B
?2x1-x2=1?-x+2x-x=0123???-x2+2x3-x4=0?-x+2x-x=045?3??-x4+2x5=0