MATLAB复习题.docx

上传人:b****9 文档编号:26329317 上传时间:2023-06-17 格式:DOCX 页数:21 大小:85.76KB
下载 相关 举报
MATLAB复习题.docx_第1页
第1页 / 共21页
MATLAB复习题.docx_第2页
第2页 / 共21页
MATLAB复习题.docx_第3页
第3页 / 共21页
MATLAB复习题.docx_第4页
第4页 / 共21页
MATLAB复习题.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

MATLAB复习题.docx

《MATLAB复习题.docx》由会员分享,可在线阅读,更多相关《MATLAB复习题.docx(21页珍藏版)》请在冰豆网上搜索。

MATLAB复习题.docx

MATLAB复习题

复习题

填空

1.清除命令窗口内容的命令是(clc)。

2.删除工作空间中保存的变量x的命令是(clearx)。

3.将双精度实数的显示格式设置成15位定点小数格式的命令是(formatlong)。

4.要在命令窗口中查看对函数log的帮助信息,所用命令是(helplog)。

5.要查询在工作空间中定义的变量x的相关信息,可用命令(whosx)。

6.Matlab标识符构成规则是(以字母打头,由字母,数字,下划线组成。

)。

7.Matlab存储数值的默认类型是(双精度浮点形式)。

8.设x是复数,取x的实部存入变量y的语句是(y=real(x))。

9.设x是复数,取x的虚部存入变量y的语句是(y=imag(x))。

10.设x是复数,取x的模存入变量y的语句是(y=abs(x))。

11.设x是复数,取x的辐角(角度)存入变量y的语句是(y=angle(x)/pi*180)。

12.设x是复数,取x的共轭存入变量y的语句是(y=conj(x))。

13.设a和b是逻辑型变量,则表达式a+b的类型是(double)。

14.设a和b是逻辑型变量,则表达式a*b的类型是(double)。

15.表达式(3>2)*(5~=5)的类型是(double)。

16.表达式(5<2)*120的值是(0)。

17.表达式(5>2)*(6~=5)的值是

(1)。

18.表达式char(65)=='A'的值是

(1)。

19.表达式char(65)+1的值是(66)。

20.表达式'A'+1的值是(66)。

21.表达式'A'+'B'的值是(131)。

22.存储double型数据占用内存(8)字节。

23.存储single型数据占用内存(4)字节。

24.存储logical型数据占用内存

(1)字节。

25.存储字符型数据占用内存

(2)字节。

26.数组[8:

2,1:

5]含有(5)个数元素。

27.数组[8:

-2:

2,7:

2:

1]含有(4)个数元素。

28.从一维数组A中检索所有偶数下标的元素的表达式是(a=A(2:

2:

end))。

29.从一维数组A中检索所有奇数下标的元素的表达式是(a=A(1:

2:

end))。

30.删除一维数组A中所有奇数下标的元素的语句是(A(1:

2:

end)=[])。

31.删除一维数组A中所有偶数下标的元素的语句是(A(2:

2:

end)=[])。

32.从N×N(N>3且是奇数)矩阵A中取出位于中心的3×3子矩阵的表达式(

A=((N-1)/2:

(N-1)/2+2,(N-1)/2:

(N-1)/2+2))。

33.设a、b、c是一维行向量,以a、b、c为列构建三列的二维数组A的语句是(A=(a';b';c'))。

34.设a、b、c是一维列向量,以a、b、c为行构建三行的二维数组A的语句是(A=[a';b';c'])。

35.将二维数组A的偶数行全部元素赋0的语句是(A(2:

2:

end,:

)=0)。

36.将二维数组A的奇数列全部元素赋0的语句是(A(:

1:

2:

end)=0)。

37.将方阵A的的主对角线全部元素赋5的语句是(A(logical(eye(size(A))))=5或eye(N)*5)。

38.删除二维数组A的所有奇数行的语句是(A(1:

2:

end,:

)=[])。

39.删除二维数组A的所有偶数列的语句是(A(2:

2:

end,:

)=[])。

40.实现将3×3数组A扩充为6×6数组,扩充的元素用0填充的语句是(A(6,6)=0)。

41.绘制极坐标图形的Matlab库函数名是(polar)。

42.将图题设置成“Fig.1示意图”的语句是(title('Fig.1示意图'))。

43.将横坐标轴标签设置成“时间(秒)”的语句是(xlabel('时间(秒)'))。

44.设置图例的Matlab库函数名是(legend)。

45.绘制三维线图的Matlab库函数名是(plot3)。

46.绘制三维网格图的Matlab库函数名是(mesh)。

47.绘制三维表面图的Matlab库函数名是(surf)。

48.关闭网格显示的Matlab语句是(gridoff)。

49.关闭坐标架显示的Matlab语句是(axisoff)。

50.使得各坐标具有相同刻度间隔的Matlab语(axis('equal'))。

51.将三维图形视角设置成方位角60度、仰角45度的语句是(view(60,45))。

52.绘制二维等高线图的Matlab库函数名是(surfc)。

53.在同一图形窗口中开多个子窗口的Matlab库函数名是(subplot)。

选择题

1.执行语句x=55后,Matlab将创建变量x,为其分配的存储空间的大小为(C)

A)2字节B)4字节C)8字节D)16字节

2.执行语句y=66后,Matlab将创建变量y,其类型为(D)

A)int8B)int16C)singleD)double

3.下列整数类型中,不能参与任何运算的类型为(D)

A)int8B)int16C)int32D)int64

4.设已执行语句x=3>2;y=x>0后,下面表达式中错误的是(D)

A)x+yB)x-yC)x*yD)x/y

5.下列的数组写法中错误的是(C)

A)[1:

9]B)1:

9C)[1:

2:

9;2:

2:

8]D)[1:

3;4:

6;7:

9]

6.设有数组定义:

x=[1,2,3,4,5,6],y=x',下列表达式中正确的是(D)

A)y+xB)y-xC)y./xB)y*x

7.执行语句forx=1:

2:

10,disp(x),end,循环体将执行几次(B)

A)10次B)5次C)1次D)0次

8.函数首部格式为function[out1,out2]=myfunc(in1,in2),不正确的调用格式是(C)

A)[x,y]=myfunc()B)myfunc(a,b)C)[x,y]=myfunc(a)D)x=myfunc(a,b)

9.语句x=-1:

0.1:

1;plot([x+i*exp(-x.^2);x+i*exp(-2*x.^2);x+i*exp(-4*x.^2)]'),绘制(B)

A)1条曲线B)3条曲线C)21条曲线D)0条曲线

10.

计算

1.已知多项式

,写出2.计算下列问题的MATLAB命令序列

(1)

的根

解:

>>p1=[3,-1,2,1,3];

>>x=roots(p1)

x=

0.6833+0.9251i

0.6833-0.9251i

-0.5166+0.6994i

-0.5166-0.6994i

(2)

在闭区间[-1,2]上的最小值

解:

>>[y,min]=fminbnd(@(x)((1/3)*x.^3+x.^2-3*x-1),-1,2)

y=

1.0000

min=

-2.6667

(3)

的导数

解:

>>p1=[3,-1,2,1,0,3];

>>p2=[0,0,1/3,1,-3,-1];

>>p3=conv(p1,p2)

p3=

Columns1through5

001.00002.6667-9.3333

Columns6through10

2.3333-4.0000-4.00002.0000-9.0000

Column11

-3.0000

所以f(x)*g(x)=x^8+2.6667*x^7-9.3333*x^6+2.3333*x^5-4*x^4-a*x^3+2*x^2-9*x-3

>>p1=[3,-1,2,1,0,3];

>>k=polyder(p1)

k=

15-4620

3.用数值积分法计算下列积分,写出相应的MATLAB命令

(1)

(用梯形算法)

解:

>>x=linspace(-2,2);

>>y=x.^2.*exp(x).*cos(x./2);

>>I=trapz(x,y)

I=

9.1613

(1)

(用梯形算法)

解:

>>x=linspace(0,2);

>>y=x.^2.*exp(x);

>>I=trapz(x,y)

I=

12.7801

(2)

(用Simpson算法)

>>I=quad('log(sqrt(1+x.^2))',0,10)

I=

14.5467

(2)

(用Simpson算法)

解:

>>I=quad('sqrt(1+x.^2)',0,3)

I=

5.6526

(3)

(用Lobbato算法)

解:

>>I=quadl('((sin(x)).^2)./(x.^2+1)',0,2*pi)

I=

0.6011

4.写出计算级数

前n+1项和的命令序列,取n=500,x=π/5。

解:

>>n=0:

500;

>>x=pi/5;

>>S=sum(x.^n)

S=

2.6905

5.已知多项式P1(x)=x4-2x+1和P2(x)=x2+4x-0.5,写出完成下列任务的MATLAB命令序列。

(1)求两多项式的和P3(x)=P1(x)+P2(x)

解:

>>p1=[1,0,0,-2,1];

>>p2=[0,0,1,4,-0.5];

>>p3=p1+p2

p3=

1.000001.00002.00000.5000

(2)求多项式的积P4(x)=P2(x)×P3(x)和P4的导数和根

解:

>>p2=[0,0,1,4,-0.5];

>>p3=[1,0,1,2,0.5];

>>p4=conv(p2,p3)

p4=

Columns1through5

001.00004.00000.5000

Columns6through9

6.00008.00001.0000-0.2500

>>p4=[0,0,1,4,0.5,6,8,1,-0.25];

>>k=polyder(p4)

k=

620218161

>>p4=[0,0,1,4,0.5,6,8,1,-0.25];

>>x=roots(p4)

x=

-4.1213

0.5634+1.3057i

0.5634-1.3057i

-0.8282

-0.2985

0.1213

(3)在同一窗口绘制四个多项式的图,并添加标签为P1、P2、P3、P4图例。

x的取值范围[-1,1],步长0.01。

解:

>>x=-1:

0.01:

1;

>>p1=[1,0,0,-2,1];

>>p2=[0,0,1,4,-0.5];

>>y3=polyval(p3,x);

>>x=-1:

0.01:

1;

>>p1=[1,0,0,-2,1];

>>p2=[0,0,1,4,-0.5];

>>p3=[1,0,1,2,0.5];

>>y4=polyval(p4,x);

>>y1=polyval(p1,x);

>>y2=polyval(p2,x);

>>y3=polyval(p3,x);

>>y4=polyval(p4,x);

>>plot(x,y1,'r',x,y2,'b',x,y3,'g',x,y4,'k');

>>legend('p1','p2','p3','p4')

6.设有矩阵A和B,写出完成下列任务的MATLAB命令序列。

(1)求它们的乘积矩阵C

解:

>>A=[1,2,2,1;2,3,6,8;6,3,5,3;3,2,3,9;8,4,2,3];

>>B=[1,2,3,1,7,1;2,3,3,3,5,4;3,5,5,3,4,9;3,7,9,5,4,8];

>>C=A*B

C=

142528182935

50991176985132

366779458987

43901116379110

315973419666

(2)将矩阵C的右下角3×2子矩阵赋给D

解:

>>C=[14,25,28,18,29,35;50,99,117,69,85,132;36,67,79,45,89,87;43,90,111,63,79,110;31,59,73,41,96,66]

C=

142528182935

50991176985132

366779458987

43901116379110

315973419666

>>D=C(end-2:

end,end-1:

end)

D=

8987

79110

9666

(3)将矩阵B的中部的2×4子矩阵元素置0

>>B(2:

3,2:

5)=0

B=

123171

200004

300009

379548

(4)从A中选出所有大于4的元素,组成行向量赋给变量x

>>x=A(A>4)'

x=

686589

(5)将A中所有大于4的元素平方

>>A(A>4)=A(A>4).^2

A=

1221

233664

363253

32381

64423

7.已知

写出完成下列任务的MATLAB命令序列。

(1)当

时,求y的值

解:

>>a=0.3;

>>x=1+i*pi/4;

>>y=(exp(a*x)-exp(-a*x))/2*sin(x+a)+a*log((x+a)/2)

y=

0.2387+0.5433i

(2)取a=0.02,x在区间[0,12π],取样间隔为0.01,绘制函数曲线

解:

>>a=0.02;

>>x=0:

0.01:

12*pi;

>>y=((exp(a*x)-exp(-a*x))/2).*sin(x+a)+a*log((x+a)/2);

>>plot(x,y)

8.写出计算级数

前n+1项和的命令序列,取n=100,x=pi/3。

解:

>>x=pi/3;

>>n=100;

>>r=0:

2:

2*n;

>>sng=ones(size(r));

>>sng(2:

2:

end)=-1;

>>S=sum(sng.*x.^r./factorial(r))

S=

0.5000

9.判断下列线性方程组有唯一解,然后解之。

写出MATLAB命令序列。

 

(1)用矩阵表示为:

AX=B;

A=[2,-1,0,0,0;-1,2,-1,0,0;0,-1,2,-1,0;0,0,-1,2,-1;0,0,0,-1,2];B=[1;0;0;0;0];

(2)计算rank(A)和rank([A,B]),若两者相等,则存在唯一解;

rank(A)=5

rank([A,B])=5

(3)X=inv(A)*B,求出X的值。

X=inv(A)*B

10.设有多项式

.

(1)写出

的MATLAB表达式。

解:

>>p1=[40,46,7,46,36,0]

p1=

4046746360

>>p2=[0,0,0,8,6,-1]

p2=

00086-1

(2)写出两个多项式相乘积存入变量M的MATLAB表达式。

解:

>>p1=[40,46,7,46,36,0]

p1=

4046746360

>>p2=[0,0,0,8,6,-1]

p2=

00086-1

>>M=conv(p1,p2)

M=

Columns1through8

000320608292364557

Columns9through11

170-360

(3)写出多项式

除以

,并将商式存入变量A,余式存入变量B的MATLAB语句。

解:

>>p1=[40,46,7,46,36,0]

p1=

4046746360

>>p2=[8,6,-1]

p2=

86-1

>>[A,B]=deconv(p1,p2)

A=

5206

B=

000006

(4)写出多项式

的微分的MATLAB表达式。

解:

11.已知某信号电平的测量值为:

[0.9845,0.7676,0.1897,-0.4542,-0.8871,-0.9896,-0.8076,-0.4797,-0.1496,0.0888,0.20550.2189,0.1699,0.0998,0.0371,-0.0048,-0.0247,-0.0280,-0.0222,-0.0135,-0.0057]mV,以第一个数据测量点作为时间零点,每隔0.5秒测量一次。

用三次样条插值的方法完成如下操作:

(1)画出每隔1-毫秒的插值曲线图形,并将原始的数据画在同一图上。

命令序列:

t=0:

0.5:

10;

U=[0.9845,0.7676,0.1897,-0.4542,-0.8871,-0.9896,-0.8076,-0.4797,-0.1496,0.0888,0.20550.2189,0.1699,0.0998,0.0371,-0.0048,-0.0247,-0.0280,-0.0222,-0.0135,-0.0057];

ti=0:

0.01:

10;Ui=interp1(t,U,ti,'spline');

plot(t,U,'rp',ti,Ui,'bo-');

title('信号电平');

xlabel('t');ylabel('U');

legend('datapoints','interpolatepoints',1);

 

图形:

 

(2)估算6.6秒时的信号电平。

U=0.08605

绘图与程序

1.下面的程序段用来绘制如图的方形脉冲信号。

T=4;

N=512;

dt=T/N;

t=0:

dt:

(N-1)*dt;

x=zeros(1,N);

x(N/2-N/8:

N/2+N/8)=1;%BLANK%

plot(t,x,'linewidth',1.5);

axis([-inf,inf,-0.01,2]);

xlabel('t/s');

ylabel('x(t)');

2.下面的程序段用来绘制如图的球面和半球面。

[X,Y,Z]=sphere(30);

Xs=X/2;

Ys=Y/2;

Zs=Z/2;

Zs=Zs+1/2;

surf(Xs,Ys,Zs);

Z(Z>0)=eps;%BLANK%

holdon;

surf(X,Y,Z);

axisequal

axisoff

3.绘制顶角

,高

的圆锥沿轴和与轴垂直方向各截去

后所得到的圆台。

其中网线颜色为红色,母线的方程为

完成下面的程序。

alpha=pi/3;

h=100;

z=0:

h/10:

h;

r=(h-z).*tan(alpha);%BLANK%

[X,Y,Z]=cylinder(r,50);

Z=Z*h;

Z(Z>h/2)=h/2;

X(X<0)=0;

surf(X,Y,Z);%BLANK%;

colormap([1,0,0]);%BLANK%;

axisequal;

axisoff;

4.下面的程序实现了如下的函数定义,并且支持数组运算(自变量可以是一维行向量,返回由函数值组成的行向量)。

functionx=myfunc(t)

x=[];

forii=t

if(ii>=2&ii<=4)

temp=1-(ii-3)^2;

x=[x,temp];

elseif(0

x=[x,0];

else

x=[x,nan];

end

end

5.下面的程序段用来绘制如图的外接圆为R,N边正多边形。

functiondrawP

R=10;

N=12;

drawPolygen(R,N);

%子函数

functiondrawPolygen(R,N)

delta=2*pi/N;

phi=0:

delta:

2*pi;

x=R.*cos(phi)%BLANK%

y=R.*sin(phi)%BLANK%

plot(x,y);

forii=1:

length(x)

line([x(i),x(i+1)],[y(i),y(i+1)]);%BLANK%

end;

b=R+1;

axis([-b,b,-b,b]);

axisequal;

axisoff;

6.求2~999中满足条件的数:

该数是素数且各位数字之和为奇数。

functionbv=mainfunc()

t=2:

299;

bv=[];

t=t(isprime(t));

fori=1:

length(t)

ifsubfunc(t(i))==1%BLANK%

bv=[bv,t(i)];

end;

end;

%子函数

functionv=subfunc(n)

bv=0;

s=0;

whilen>0

s=s+n%10;%BLANK%

n=fix(n/10);

end;

v=logical(rem(s,2));

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1