MatLab测试题(高难度)
一.编程题(第一第二各6分,第六第七题各5分,其余每题5分,共56分)
1. 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
偶数
奇数
2. 对任意给定值求和:
clear
n=input('输入n=')
switch mod(n,2)
    case 0
-n/2
    otherwise
(n+1)/2
end
3.用MATLAB语句表达“如果a等于 b且c等于0就让d 等于3,否则如果a大于b且c=1让d等于 0,其余情况让d等于3”;
 if a==b&c==0
    d=3
else if  a>b&c==1
        d=0
    else
        d=3
    end
end
4.产生7×9阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 
x=randn(7,9)
m=mean(x)
mm=mean(mean(x))
s=std(x)
ss=std(x(:))
5. f(x)=x^5-4x^4+3x^2-2x+6取x=[-3,13]之间函数的值,零点。
fun1=@(x)x.^5-4*x.^4+3*x.^2-2*x+6
fzero(fun1,[-3,13])
fplot(fun1,[-3,13])
grid on
6. 设计一段程序:
(1) 将分别用实线、点线、点划线、虚线,且颜分别用黑、红、绿、蓝,而线宽为2磅。
(2) 用黑星号将点绘制在同图上。
(3) 在图中加网格线,并将轴的范围、轴的范围限制在内。
clear
x=0:0.01:2*pi;
x0=0:.5*pi:2*pi;
y0=0;
y1=exp(-0.1*x);
y2=-exp(-0.1*x);matlab考试题库及答案
y3=exp(-0.1*x).*sin(x);
y4=exp(-0.1*x).*cos(x);
plot(x,y1,'-k',x,y2,':r',x,y3,'-.g',x,y4,'--b',x0,y0,'*k','LineWidth',2)
axis([0 2*pi -1 1])
grid on
7.使用mesh绘制双曲抛物面的函数图像,并使用命令axis equal和不使用axis equal命令看两张图比例上有何不同?
clear
a=1;b=1;
c=1;
x1=linspace(-2,2,40);
y1=linspace(-2,2,40);
[x,y]=meshgrid(x1,y1);
z=c*(x.^2/a^2-y.^2/b^2);
mesh(x,y,z)
xlabel('\fontsize{14}\bfx')
ylabel('\fontsize{14}\bfy')
zlabel('\fontsize{14}\bfz')
colorbar
axis([-2 2 -2 2 -5 5])
axis equal
clear
a=1;
b=1;
c=1;
x1=linspace(-2,2,40);
y1=linspace(-2,2,40);
[x,y]=meshgrid(x1,y1);
z=c*(x.^2/a^2-y.^2/b^2);
mesh(x,y,z)
xlabel('\fontsize{14}\bfx')
ylabel('\fontsize{14}\bfy')
zlabel('\fontsize{14}\bfz')
colorbar
axis([-2 2 -2 2 -5 5])
8. 因式分解:
syms x
factor(x.^4-5*x.^3+5*x.^2+5*x-6)
9.求解微分方程组,并作出解函数图和相平面图
fun=@(t,x)[-2*x(1)^3+3*x(2);3*x(1)^2+2*x(1)*x(2)-x(2)^3]
[t,x]=ode45(fun,[0 20],[1.5;0.5]);
subplot(1,2,1);plot(t,x(:,1),t,x(:,2),':');
subplot(1,2,2);plot(x(:,1),x(:,2));
10.求解重积分
syms x y
iy=int(3*sqrt(1-x^2),y,-sqrt(1-x^2),sqrt(1-x^2))
int(iy,x,-1,2)
二、 选择或填空(2分/题,共44分)
1、在MATLAB中,图形窗口图的设置和改变需调用函数(  B  )
(A)color              (B) colormap          (C) plot          (D) change
2、MATLAB中命令sum([4  1  2;0  3  6])的结果为B
(A) 16          (B) 4  4  8    (C) 7  9          (D) 程序出错,没有结果
3、在MATLAB中,如需查询一个函数的基本用法,命令为A
(A) help            (B) version        (C) demo            (D) path
4、A=[1 2 1;2 2 3;5 0 0],则MATLAB中求A的逆矩阵的命令为D
(A) det(A)            (B) uv(A)        (C) A*(-1)          (D) inv(A)
5、在MATLAB中,不能画三维图形的函数为(  A  )
(A) text    (B) mesh    (C)  surf  (D) plot3
6、下列变量名中 (  A    ) 是合法的。
(A)  char_1 ;    (B)  x*y ;    (C)  x\y ;    (D)  end
7、MATLAB中‘legend’函数的功能为( B    )
(A)给图形加标题                      (B)在指定位置给图形加注释
(C)给图形变                        (D)给图形添加图例
8、已知,则在MATLAB中调用命令A(3)的结果为(  A  )
(A) 3          (B)2        (C) 无结果            (D)7
9、如果在MATLAB的命令窗口输入命令a=input('a=?'),出来的结果为A
(A) a=?        (B)没有任何显示  (C) a=              (D) a=?’
10、对于下面的程序,在MATLAB中运行后f的形式为C
a=0;b=3*pi;  n=1000; h=(b-a)/n;  x=a:h:b;  f=exp(-0.5*x).*sin(x+pi/6)
(A) 数          (B) 矩阵        (C) 向量            (D) 没有结果 
11、在循环结构中跳出循环,但继续下次循环的命令为(    C    ) 。
(A)  return;    (B)  break ;    (C)  continue ;    (D)  keyboad
12、在MATLAB中,列出当前工作空间变量名的函数是 (  A  )
(A) who(s)              (B) clc        (C) path      (D) draw
13、求解在x=1附近的根的错误的语句为B
(A)  fzero('x^3-3*x+1=0',1)      (B)  fzero('x^3-3*x+1',1)
(C)  fzero('x^3-3*x+1=0',[1,2])    (D)  P=[1,-3,1];roots(p)
14、b=[5,23,7,2,3,6,0],要把b向量的元素按从小到大的顺序排列,MATLAB中用的命令为A
(A)sort              (B) put          (C) fprintf          (D) mesh 
15、MATLAB中保持图形窗口不关闭的命令为B
(A) alter              (B) hold on      (C) hold off        (D) cd
16、MATLAB中计算积分,则下列程序中的空格处应填的命令是
sym t ; f=3/((t-1)^2*(t-2)); F=__________B___, y=double(F)
(A) (f,t,2,6    (B) qad(f,t,2,6)    (C) int(t,2,6)           (D) int(f,t,2,6)
17、在MATLAB中,强行终止程序运行的命令为  C
(A) ctrl+v          (B) ctrl+shift        (C) ctrl+c            (D)shift+c
18、,则A.*B=D
(A) 运算不执行,因有错    (B) 8  3    (C)  5 7  4    (D) 6  6  3
19、MATLAB中程序A=[1 2 3;-1 2 1;3 5 2];B=[3 4 6;5 8 9;4 5 3]; C=(B>1)&(B<7),运行后结果为    A           
(A)C=[1,1,1;1,0,0;1,1,1]            (B) C=[1,0,0;1,0,0;1,0,1]       
(C) 无结果                      (D) C=[0,1,0;1,0,0;1,1,1]
20、MATLAB中生成一个从0到20的等差为0.5的数列应使用的命令为C
(A) x=linspace(0,20)(B) x= 0:20  (C) x=linspace(0,20,41)    (D) x=linspace(0,20,0.5)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。