MATLAB复习题

3.在while表达式,语句体,End循环语句中,表达式的值为零时表示循环条件为真,语句体将被执行,否则跳出该循环语句。(X)

4.使用函数zeros(5)生成的是一个具有5个元素的向量。(×)

5.A、B两个行列分别相同的数组,当执行A>B的关系运算后,其结果是0或者1.(×)

6.abs()是一个针对数值量求绝对的函数。(×)

7.若X=[1,2,3],Y=[4,5,6],则Z=X*Y=[4,10,18]成立 (X)

8.若S=[1,2;3,4],D=[1,4,7;8,5,2,;7,2,0],则D^S是非法运算 (√)

9.输入关系式a=2+2==4得a=1 (√)

10.程序中必须用全角英文字母和符号。 (X)

11.文件名可以用汉字。 (X)

12.pause(n)是指程序执行到此处时暂停。 (X)

13.函数文件由function起头,后跟的函数名必须与文件名同。(√)

14.标识符中第一个字符必须是英文字母。(√)

15.在matlab中,变量和常量的标识符最长允许18个字符;函数和文件名则通常不超过9个字符。 (X)

16,函数文件可以在命令窗口直接运行 (X)

1.在Matlab中不可以将图形剪切到word文档中。 ( ) 解:X。可以将图剪切到word文档中,通过图形编辑窗的 编辑→复制选项,复制图形,然后粘贴到相应的word文档中。 2.在输入矩阵元素时,同一行的各元素之间只能用逗号分割。( ) 解:X。可以用空格分隔。

3.命令输入完成,在按Enter键时,光标必须要移到该命令行的末尾。( ) 解:X。光标可以停在该命令的任何位置。

4.对于较长的字符串可以用字符串向量表示,即用()括起来( )

解:X。应该是方括号。

5.如果一个命令行很长,需要分成两行或者多行来输入,可以在第1个物理行之后按下Enter键,然后接着在下一个物理行继续输入命令的其他部分。 ( ) 解:X。还要在第1个物理行之后加上3个小黑点再按下Enter键。 6.if,for,while与表达式之间应留空格,在表达式与语句组之间必须用空格或逗号分隔,而在语句组的后面用空格来与end或else分隔。 ( ) 解:X。在语句组的后面必须用逗号或分号隔开end或else。 7.pause(n)中?n?表示下标,没有实际意义。 ( ) 解:X。该式中pause暂停程序执行,?n?表示暂停几秒钟。

8.MATLAB的程序文件和Simulink模型文件的扩展名分别是.m和.mdl () 解:√。

9.?%?可以使命令行不显示运算结果。

解:X。因为?%?表示该行为注释行,?;?表示可以使命令行不显示运算结果。

10.help命令显示某个函数的所有注释行,直到遇到空白注释行或执行语句为止。 解:√。

11.清空 Matlab 工作空间内所有变量的指令是 clc 。

解: X。MATLAB中的clc用于清除指令窗内容,clf用于清除图形窗,clear用于清除工作空间里的内容。

12.在程序调试时,我们通常把某些分号改为逗号,使中间结果能显示在屏幕上,作为查错的依据。 ( ) 解:√。

13.M文件可分为两种其中一种是主程序,也称为函数文件。

解:X。M文件可分为两种其中一种是主程序,也称主程序文件,另一种是子程序,也称为函数文件。

14.matlab的工作环境由命令窗、图形窗和文本编辑框组成。 ( ) 解:√。

15.matlab对大小写不加以区别

解:X,MATLAB对大小写敏感,即把A和a看作两个不同的字符。

15.在Matlab中Inf表示无穷大,NaN表示无穷小。( ) 解:√。

四. 编程题

1.打印出所有水仙花数。所谓?水仙花数?,是指一个三位数,其各位数字立方之和等于该数本身。(提示:用fix函数和rem函数。fix为取整函数) for k=100:999 a=fix(k/100);

b=rem(fix(k/10),10); c=rem(k,10);

if a.^3+b.^3+c.^3==k; fprintf('%u,\\t\\t',k)

end

2. 在0≤x≤2p区间内,绘制曲线y=2e-0.5xcos(4πx)

程序如下:x=0:pi/100:2*pi;

y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)

3. 在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点。 程序如下:

x=linspace(0,2*pi,1000); y=2*sin(x);

subplot(2,2,1);bar(x,y,'g');

title('bar(x,y,''g'')');axis([0,7,2,2]); subplot(2,2,2);stairs(x,y,'b');

title('stairs(x,y,''b'')';axis([0,7,2,2]); subplot(2,2,3)stem(x,y,'k');

title('stem(x,y,''k'')');axis([0,7,2,2]); subplot(2,2,4);fill(x,y,'y');

title('fill(xy,''y'')');axis([0,7,-2,2]); 4, 计算

的数组乘积。

a=[6 9 3;2 7 5]; b=[2 4 1;4 6 8]; a.*b ans =

12 36 3 8 42 40

5. 对于,如果,,求解X。

A=[4 9 2;7 6 4;3 5 7]; B=[37 26 28]’; X=A\\B X =

-0.5118 4.0427 1.3318

6.设 ,把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线的代码。 x=linspace(0,2*pi,101);

y=cos(x)*(0.5+(1+x.^2)\\3*sin(x)); plot(x,y,'r')

7.在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例

t=(0:pi/100:pi)'; y1=sin(t)*[1,-1]; y2=sin(t).*sin(9*t); t3=pi*(0:9)/9;

y3=sin(t3).*sin(9*t3);subplot(1,2,1) plot(t,y1,'r:',t,y2,'b',t3,y3,'bo') subplot(1,2,2) plot(t,y2,'b') axis([0,pi,-1,1])

8.在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。

clf

x=0:pi/200:2*pi; y1=sin(x); y2=cos(x);

zz=x(find(abs(y1-y2)<0.005)) z=min(zz)

plot(x,y1,'r-',x,y2,'g-.') hold on

plot(zz,sin(zz),'*') legend('sin','cos')

9、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):

price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣 5000≤price 14%折扣

price=input('请输入商品价格');

switch fix(price/100) case {0,1} %价格小于200

rate=0;

case {2,3,4} %价格大于等于200但小于500

rate=3/100;

case num2cell(5:9) %价格大于等于500但小于1000

rate=5/100;

case num2cell(10:24) %价格大于等于1000但小于2500

rate=8/100;

case num2cell(25:49) %价格大于等于2500但小于5000

rate=10/100;

otherwise %价格大于等于5000

10、列出求素数的程序。 clear,close all N=input('N='), x=2:N;

for u=2:sqrt(N)

n=find(rem(x,u)==0 & x~=u); x(n)=[]; end,x

11、输入数n,判断其级奇偶性。 clear,close all n=input('n='), if isempty(n)==1 A='empty',

elseif rem(n,2)==0 A='even', else A='odd', end

12、列出构成Hilbert矩阵的程序 format rat, n=input('n='), for i=1:n for j=1:n

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4