好文档 - 专业文书写作范文服务资料分享网站

(完整版)第4章MATLAB程序流程控制_习题答案

天下 分享 时间: 加入收藏 我要投稿 点赞

第4章 MATLAB程序流程控制

习题4

一、选择题

1.下列关于脚本文件和函数文件的描述中不正确的是( )。 A A.函数文件可以在命令行窗口直接运行

B.去掉函数文件第一行的定义行可转变成脚本文件 C.脚本文件可以调用函数文件

D.函数文件中的第一行必须以function开始 2.下列程序的输出结果是( )。D y=10; if y==10 y=20; elseif y>0 y=30 end disp(y)

A.1 B.30 C.10 D.20 3.有以下语句: a=eye(5);

for n=a(2:end,:) for循环的循环次数是( )。C

A.3 B.4 C.5 D.10 4.设有程序段 k=10; while k k=k-1 end

则下面描述中正确的是( )。A

A.while循环执行10次 C.循环体语句一次也不执行 5.有以下程序段: x=reshape(1:12,3,4); m=0;

B.循环是无限循环 D.循环体语句执行一次

n=0; for k=1:4 if x(:,k)<=6 m=m+1; else n=n+1; end

end

则m和n的值分别是( )。C

A.6 6 B.2 1 C.2 2 D.1 2 6.调用函数时,如果函数文件名与函数名不一致,则使用( )。A A.函数文件名 B.函数名 C.函数文件名或函数名均可 D.@函数名

7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是( )。B

A.x=f1(a,b,c) B.[x,y,z,w]=f1(a,b,c) C.[x,b,z]=f1(a,y,c) D.[a,b]=f1(x,y,z) 8.执行语句“fn=@(x) 10*x;”,则 fn是( )。A

A.匿名函数 B.函数句柄 C.字符串 D.普通函数 9.执行下列语句后,变量A的值是( )。D >> f=@(x,y) log(exp(x+y)); >> A=f(22,3);

A.22,3 B.22 C.3 D.25 10.程序调试时用于设置断点的函数是( )。A

A.dbstop B.dbclear C.dbcont D.dbstack 二、填空题

1.将有关MATLAB命令编成程序存储在一个扩展名为.m的文件中,该文件称为 。M文件

2.有语句“for k=[12;34]”引导的循环结构,其循环体执行的次数为 。1 3.MATLAB中用于控制不确定重复次数的循环语句为 ,若在循环执行过程中需要终止该循环时采用的语句为 。while…end,break

4.函数文件由 语句引导。在函数定义时,函数的输入输出参数称为 参数,简称 。在调用函数时,输入输出参数称为 参数,简称 。

function,形式,形参,实际,实参

5.在MATLAB中,函数文件中的变量是 变量。定义 变量是函数间传递信息的一种手段,可以用 命令定义。局部,全局,global

6.应用程序的错误有两类,一类是 错误,另一类是运行时的错误,即

2

进行程序调试。

语法,逻辑,调试函数,调试工具 三、应用题

1.写出下列程序的输出结果。 s=0;

a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a for j=1:4

if rem(k(j),2)~=0 s=s+k(j); end end end s

2.分别用if语句和switch语句实现以下计算,其中a、b、c的值从键盘输入。

3

错误。MATLAB程序调试方法有两种,一是利用 进行程序调试,二是利用

??ax2?bx?c,?y??asincb?x,?clnb?,?x?if语句:

a=input('a='); b=input('b='); c=input('c='); x=input('x='); if 0.5<=x&x<1.5 y=a*x^2+b*x+c; elseif 1.5<=x&x<3.5 y=a*(sin(b))^c+x; elseif 3.5<=x&x<5.5 y=log(abs(b+c/x)); end y

switch语句: a=input('a='); b=input('b=');

3

0.5?x?1.51.5?x?3.5 3.5?x?5.5c=input('c='); x=input('x='); switch fix(x*10) case num2cell(5:14) y=a*x^2+b*x+c; case num2cell(15:34) y=a*(sin(b))^c+x; case num2cell(35:54) y=log(abs(b+c/x)); otherwise disp('nsrdxcw') end y

3.产生20个两位随机整数,输出其中小于平均值的偶数。 x=fix(10+rand(20)*89); a=sum(x)/20; for i=1:20 if x(i)

if rem(x(i),2)==0 disp(x(i)) end end end

4.输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。

循环结构: for a=1:20

A(a)=input('请输入20个数:'); end A

mi=A(1);ma=A(1); for i=1:20 if mi>A(i) mi=A(i); end

if ma

4

end end disp(ma) disp(mi) max、min函数: for a=1:20

A(a)=input('请输入20个数:'); end A

mi=min(A),ma=max(A) 5.已知

s=1+2+22+23+…+263

分别用循环结构和调用MATLAB的sum函数求s的值。

循环结构: s=0; for x=0:63 s=2^x+s; end disp(s) sum函数: i=0:63; f=2.^i; sum(f)

6.当n分别取100、1000、10000时,求下列各式的值:

5

1111?????(?1)n?1??(?ln2) 234n111π(2) 1?????(?)

357411111????n??(?) (3) ?4166434(1) 1?(4) ??2?2??4?4??6?6???????1?33?55?7???????(2n)(2n)?π???(?) ?(2n?1)(2n?1)?2??要求分别用循环结构和向量运算(使用sum或prod函数)来实现。 (1): 循环结构:

n=input('请输入n的值:');

5

(完整版)第4章MATLAB程序流程控制_习题答案

第4章MATLAB程序流程控制习题4一、选择题1.下列关于脚本文件和函数文件的描述中不正确的是()。AA.函数文件可以在命令行窗口直接运行B.去掉函数文件第一行的定义行可转变成脚本文件C.脚本文件可以调用函数文件D.函数文件中的第一行必须以function开始2.下列程序的输出结果是(
推荐度:
点击下载文档文档为doc格式
7emc68m21h1lh1d7s0l19lpyv23wwc008lp
领取福利

微信扫码领取福利

微信扫码分享