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) 6 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小时内删除。
发表评论