matlab基础练习题(带答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab基础练习题
常量、变量、表达式
1、MATLAB中,下面哪些变量名是合法的?()
(A)_num(B)num_(C)num-(D)-num
2、在MATLAB中,要给出一个复数z的模,应该使用()函
数。
(A)mod(z)(B)abs(z)(C)double(z)(D)angle(z)
3、下面属于MATLAB的预定义特殊变量的是?()
(A)eps(B)none(C)zero(D)exp
4、判断:在MATLAB的内存工作区中,存放一个英文字符'a'需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。(错,都是2个字节)
5、判断:MATLAB中,i和j都是虚数单位,它们之间没有什么区别。
(对)
6、判断:MATLAB中,pi代表圆周率,它等于3.14。(错,后面
还有很多位小数)
7、在MATLAB中,若想计算的值,那么应该在MATLAB的指令窗中输入的MATLAB指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。
8、在MATLAB中,a=1,b=i,则a占_8__个字节,b占_16_个字
节,c占________字节。
9、在MATLAB中,inf的含义是__无穷大__,nan的含义是__非数(结
果不定)___。
数组
1、在MATLAB中,X是一个一维数值数组,现在要把数组X中的所有
元素按原来次序的逆序排列输出,应该使用下面的()指令。(A)X[end:1](B)X[end:-1:1](C)X(end:-1:1)(D)X(end:1)
2、在MATLAB中,A是一个字二维数组,要获取A的行数和列数,应
该使用的MATLAB的命令是()。
(A)class(A)(B)sizeof(A)(C)size(A)(D)isa(A)3、在MATLAB中,用指令x=1:9生成数组x。现在要把x数组的第二
和第七个元素都赋值为0,应该在指令窗中输入()
(A)x([27])=(00)(B)x([2,7])=[0,0]
(C)x[(2,7)]=[00](D)x[(27)]=(00)
4、在MATLAB中,依次执行以下指令:clear;A=ones(3,4);
A(:)=[-6:5];这时,若在指令窗中输入指令b=A(:,2)',那么,MATLAB输出的结果应该是()
(A)b=-(B)b=-2-101
(C)b=-5-13(D)b=-5-214
5、在MATLAB中,A=1:9,现在执行如下指令L1=~(A>5),则MATLAB
的执行结果应该是L1=___111110 000___。
6、在MATLAB中,要求在闭区间[0,5]上产生50个等距采样的一维数组b,请写出具体的MATLAB指令___linspace(0,5,50)___。
7、在MATLAB中,A=[0:1/2:2]*pi,那么sin(A)=___[010-1
0]_____。
8、在MATLAB中,A=[1,2,3;4,5,6;7,8,0],
B=[2,1,6;8,5,2;14,2,1]。写出下面MATLAB语句执行的结果:(为节省篇幅,把矩阵写成mat2str的形式)
(1)A==B[000;010;000]
(2)A.*B[2218;322512;98160]
(3)A(:)'[147258360]
(4)A(1,:)*B(:,3)13
9、在MATLAB中,写出下面MATLAB语句执行的结果:
(1)c lear,A=ones(2,6)
A=
111111
111111
(2)A(:)=1:2:24
A=
159131721
3711151923
(3)A([1:3:7])
ans=
1713
(4)d iag(diag(A))
ans=
10
07
(5)B=A(:,end:-1:1)
B=
211713951
2319151173
10、请编写一段matlab程序,完成以下功能:
(1)生成一个100行,200列的二维随机数组;
A=rand(100,200);
(2)找出数组A中所有大于0.49且小于0.51的元素的单下标;Idx=find(A(:)>0.49&A(:)<0.51)
(3)数组A中满足(2)中的条件的元素有多少个?
length(Idx)
(4)求出数组A中满足(2)中的条件的元素的和,并求出这些元
素的平均值;
sum(A(Idx)),m=mean(A(Idx))
(5)将(4)求出的平均值赋值给数组A中满足(1)中的条件的每个元素。
A(Idx)=m;
11、请编写一段matlab程序,完成以下功能:
(1)找出100到200之间的所有质数,将这些质数存放在一个行数组里;
X=100:200;
p=X(isprime(X))
(2)求出这些质数之和;
sum(p)
(3)求出100到200之间的所有非质数之和(包括100和200)。sum(X(~isprime(X)))
12、,编写一段matlab程序,要求如下
(1)在区间,每隔0.01取一数值,计算出相应的的函数值;
x=0:0.01:2*pi;
y=(0.7+2*cos(x)./(1+x.^2)).*sin(x)
(2)根据MATLAB计算出的数据,找出在内该函数的极小值的坐标。
[my,idx]=min(y)
x(idx)