matlab基础练习题带答案.docx

上传人:b****6 文档编号:12993275 上传时间:2023-06-10 格式:DOCX 页数:15 大小:75.40KB
下载 相关 举报
matlab基础练习题带答案.docx_第1页
第1页 / 共15页
matlab基础练习题带答案.docx_第2页
第2页 / 共15页
matlab基础练习题带答案.docx_第3页
第3页 / 共15页
matlab基础练习题带答案.docx_第4页
第4页 / 共15页
matlab基础练习题带答案.docx_第5页
第5页 / 共15页
matlab基础练习题带答案.docx_第6页
第6页 / 共15页
matlab基础练习题带答案.docx_第7页
第7页 / 共15页
matlab基础练习题带答案.docx_第8页
第8页 / 共15页
matlab基础练习题带答案.docx_第9页
第9页 / 共15页
matlab基础练习题带答案.docx_第10页
第10页 / 共15页
matlab基础练习题带答案.docx_第11页
第11页 / 共15页
matlab基础练习题带答案.docx_第12页
第12页 / 共15页
matlab基础练习题带答案.docx_第13页
第13页 / 共15页
matlab基础练习题带答案.docx_第14页
第14页 / 共15页
matlab基础练习题带答案.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

matlab基础练习题带答案.docx

《matlab基础练习题带答案.docx》由会员分享,可在线阅读,更多相关《matlab基础练习题带答案.docx(15页珍藏版)》请在冰点文库上搜索。

matlab基础练习题带答案.docx

matlab基础练习题带答案

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=-3-2-1(B)b=-2-101

(C)b=-5-13(D)b=-5-214

5、在MATLAB中,A=1:

9,现在执行如下指令L1=~(A>5),则MATLAB的执行结果应该是L1=___111110000___。

6、在MATLAB中,要求在闭区间[0,5]上产生50个等距采样的一维数组b,请写出具体的MATLAB指令___linspace(0,5,50)___。

7、在MATLAB中,A=[0:

1/2:

2]*pi,那么sin(A)=___[010-10]_____。

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)clear,A=ones(2,6)

A=

111111

111111

(2)A(:

)=1:

2:

24

A=

159131721

3711151923

(3)A([1:

3:

7])

ans=

1713

(4)diag(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)

数值计算

1、在MATLAB中,A是一个10×10数组,我们把该数组看成矩阵的话,则此矩阵的行列式值=___det(A)__,此矩阵的逆矩阵(如果存在的话)=_inv(A)___。

(用MATLAB的函数表示)

2、求解下列方程组:

A=[113-1;01-11;1122;1-11-1];

b=[2;1;4;0];

x=A\b

A=[34-7-12;5-742;108-5;-65-210];

b=[4;-3;9;-8];

xyzw=A\b

3、求有理分式

的商多项式和余多项式

n=conv([3010],[3000.5]);

d=conv([12-2],[5201]);

[q,r]=deconv(n,d)

4、一元多项式

,写出表示

的MATLAB语句__p=[20-340]__,求

的根的MATLAB语句是____roots(p)__,求

的数值的MATLAB语句是__polyval(p,4.3)___。

程序设计

1、M脚本文件和函数文件的有什么区别?

最主要的差别是,函数有自己的独立工作区,和外界的信息交换通过输入输出参数实现;而脚本没有独立工作区,其直接使用宿主程序的工作区,并把结果留在宿主程序中。

2、掌握下面程序设计中常用的函数及关键字:

inputpausewarningnarginnargout

forwhileifelseifelseswitchcaseotherwiseendtry

catchbreakcontinueend

3、分别用for和while循环语句计算

的程序。

还请写出一种避免循环的计算程序。

(不要用symsum函数)

K=0;

fori=0:

63

K=K+i;

end

K=0;i=0;

whilei<=63

K=K+i;

i=i+1;

end

K=sum(2.^(0:

63))

4、MATLAB提供了两种循环结构,一种是for循环结构,另一种是__while_循环结构。

5、编写M函数求和

functions=mysum(n)

s=sum(1:

n);

6、编写M函数求积

functionp=mysum(n)

p=prod(1:

n);

7、编写M函数列出从整数a到整数b之间能被3整除的奇数。

functionr=odds3(a,b)

r=a:

b;

r=r(mod(r,2)==1&mod(r,3)==0)

8、编写M脚本列出从100到200不能被3整除同时也不能被7整除的数。

X=100:

200;

X(mod(X,3)~=0&mod(X,7)~=0)

9、一张纸厚0.06mm且足够大,试问将纸对折多少次,其厚度将超过10000m?

按题意,就是要求2^n*0.06E-3>=10000,所以

n=ceil(log(10000/0.06e-3)/log

(2))

10、编写MATLAB脚本输出“水仙花数”及水仙花数的个数。

所谓“水仙花数”是一个3位数,其各位数字的立方和等于该数本身。

例如

c=0;

forn=100:

999

m=[fix(n/100)fix(mod(n,100)/10)mod(n,10)];

ifn==sum(m.^3),

fprintf('%i=%i^3+%i^3+%i^3\n',n,m);

c=c+1;

end

end

fprintf('\n共%i个水仙花数\n',c)

输出结果:

153=1^3+5^3+3^3

370=3^3+7^3+0^3

371=3^3+7^3+1^3

407=4^3+0^3+7^3

共4个水仙花数

绘图

1、MATLAB中,绘制三维曲面图的函数是()

(A)surf(B)plot(C)subplot(D)plot3

2、MATLAB中,要绘制三维空间曲线,应该使用()函数。

(A)polar(B)plot(C)subplot(D)plot3

3、在MATLAB中,A是一个1000行2列的二维数值数组,现在要把A的第一列数据作为横坐标,把A的第二列数据作为纵坐标,画出一条曲线,试写出相应的MATLAB语句_____plot(A(:

1),A(:

2))______。

4、MATLAB绘图指令中的__subplot_指令允许用户在同一个图形窗里布置几个独立的子图。

5、编写一段matlab程序,绘制出二元函数

三维网线图,要求如下:

(1)

的取值范围为

(2)

每隔0.5取一个点;

(3)图形的线型和颜色由MATLAB自动设定

[x,y]=meshgrid((-9:

0.5:

9)+eps);%加eps避免出现0/0

z=2*sin(x).*sin(y)./(x.*y);

mesh(x,y,z)

6、编写一段matlab程序,绘制出函数

图形的MATLAB语句,要求如下:

(1)

的取值范围为

(2)

每隔0.01取一个点;

(3)y1和y2的图形要画在同一幅图里;

(4)图形的线型和颜色由MATLAB自动设定。

x=(-3:

0.01:

3)+eps;%加eps避免出现除0警告

y1=x.*sin(1./x);

y2=sin(2*x);

plot(x,y1,x,y2)

符号计算

1、在MATLAB中,能正确的把x、y定义成符号变量的指令是()

(A)symxy(B)symx,y

(C)symsx,y(D)symsxy

2、要清除MATLAB工作空间中保存的变量,应该使用_clear_指令。

3、在MATLAB中,指令findsym(sym('sin(w*t)'),1)的执行结果是__w__。

4、在MATLAB中,写出把x和y定义为符号变量的相应语句__symsxy_。

5、求解下列方程组的符号解:

A=[113-1;01-11;1122;1-11-1];

b=[2;1;4;0];

x=sym(A)\b

A=[34-7-12;5-742;108-5;-65-210];

b=[4;-3;9;-8];

xyzw=sym(A)\b

6、求极限:

(1)求函数

处的极限;

>>symsx

>>limit((1+x)^(1/x),0)

ans=

exp

(1)

(2)求函数

处的极限;

>>symsx

>>limit(sin(3*x)/tan(5*x),0)

ans=

3/5

(3)求函数

在趋向正无穷处的极限;

>>symsxn

>>limit(n*x/3^x,inf)

ans=

0

(4)求函数

在趋向正无穷处的极限;

>>symsx

>>limit(log(x)^2/x^3,inf)

ans=

0

7、求导数:

(1)求函数

的50阶导数;

>>symsx

>>y=1/x^2-3*x+3;

>>diff(y,50)

ans=

1551118753287382280224243016469303211063259720016986112000000000000/x^52

(2)求函数

处的3阶导数;

symstabc

y=a*sin(b*exp(c^t)+t^a);

simple(subs(diff(y,t,3),t,b))

8、求不定积分:

>>symsx

>>int(1/sin(x)^3)

ans=

-1/2/sin(x)^2*cos(x)+1/2*log(csc(x)-cot(x))

>>symsxa

>>int(1/(a^2-x^2))

ans=

-1/2/a*log(a-x)+1/2/a*log(a+x)

>>symsx

>>int((sqrt(x^2-3)-sqrt(x^2+3))/sqrt(x^4-9))

ans=

(x^4-9)^(1/2)/(x^2-3)^(1/2)/(x^2+3)^(1/2)*asinh(1/3*3^(1/2)*x)-1/(x^2+3)^(1/2)*(x^4-9)^(1/2)/(x^2-3)^(1/2)*log(x+(x^2-3)^(1/2))

9、求定积分及广义积分

>>symsxa

>>int(sqrt(x^2+a),-2,2)

ans=

2*(4+a)^(1/2)+1/2*a*log(2+(4+a)^(1/2))-1/2*a*log(-2+(4+a)^(1/2))

>>symsx

>>int(sin(x)^2*cos(x)^2,-pi,pi)

ans=

1/4*pi

>>symsxy

>>int(int(x^2+y^2,y,1,x^2),1,2)

ans=

1006/105

10、求下面的积分,给出50位精度的数值:

>>symsxy

>>J=int(int(sin(x)^2+sin(y)^2,y,1,x^2),1,2);

>>vpa(J,50)

ans=

2.1540459589705316265997501755762001048498664176916

11、级数求和:

>>symszn

>>symsum((z-1)^n/(n^2*2^n),n,1,inf)

ans=

(1/2*z-1/2)*hypergeom([1,1,1],[2,2],1/2*z-1/2)

>>symszn

>>symsum((3*n+1)*(z-1)^n,n,1,inf)

ans=

(4*z-4)*(-1/(z-2)+3/4/(z-2)^2*(z-1))

>>symszn

>>symsum(n*(-1)^(n+1)*z^n,n,1,inf)

ans=

z/(z+1)^2

>>symsxpositive

>>symsk

>>simple(symsum(2/(2*k+1)*((x-1)/(x+1))^(2*k+1),k,0,inf))

ans=

log(-(1+((x^2-2*x+1)/(x^2+2*x+1))^(1/2))/(-1+((x^2-2*x+1)/(x^2+2*x+1))^(1/2)))

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2