Matlab考试题库+答案 下载本文

out = [Value of f from 'str1' to 'str2']; xlabel(out);

out = ['Value of f from ' str1 ' to ' str2];

或out = ['Value of f from str1 to str2'];

5根据下面两个矩阵

执行下列的矩阵运算命令,并回答有关的问题

(1) A.*B和 A*B将分别给出什么结果,它们是否相同,为什么? (2) 得出A.^B、A/B及A\\B的结果,并分别解释它们的物理意义。

问答题:

1 MATLAB系统包括哪些窗口,各个窗口功能是什么? 2 分析下面程序运行后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的结果。

3 已建立一个简单的SIMULINK模型,如下图,用信号发生器产生一个仿真图,请对下图

的符号和功能进行解释。

3 A = [1 2; 3 4]; B = [1 2; 1 4]; 写出下面几条指令的运行结果: C = A*B D = A+B E = A.*B 答: C = 3 10 7 22 D = 2 4

4 8 E = 1 4 3 16

4.mysum=0;i=1; while(i<=100) mysum=mysum+i; i=i+1; end mysum 答: mysum = 5050

5.在MATLAB窗口中,用哪两种方法启动Simulink? 答:

在MATLAB命令窗口中输入“simulink”再回车,或者单击工具栏中的SIMULINK图标

6. 请修改下面的程序,让他们没有for循环语句! A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c

if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end

解:程序如下:a=[1 2 3;4 5 6;7 8 9]; b=(a<=8&a>=2);a=a.*b

7 编写一个函数,使其能够产生如下的分段函数:并调用此函数,绘制x=[0,+2]范围内的f(x)*f(x+2) 。 答:function y=f(x) if x<=2 y=0.5*x; else if x>6

y=0.5;

else y =1.5-0.25*x; end end

运行结果 x=2 f(x)=1

x = 0:0.05:2;

y = diag(A2(x)'*A2(x+2)); plot(x,y); xlabel('\\bfx'); ylabel('\\bfy');

8(1) 将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。 ①

,x

(曲线图);②f(x,y)=

(-2<=x<=2,-4<=x<=4)(曲

面图)。

答:subplot(2,2,2);

ezplot('(cos(x))^(1/2)',[-pi/2 pi/2]); ylabel('y'); subplot(2,2,3); x=-2:0.5:2; y=-4:1:4;

ezsurfc('x^2/2^2+y^2/4^2')

(2) A 是一个维度m×n的矩阵. 写一段程序, 算出A中有多少个零元素。 答:>> A= input ('请输入一个矩阵') [m,n]= size(A); sig=0; for i=1:m for j=1:n if A(i,j)==0 sig = sig+1; end end end