【精编版】第4章MATLAB程序流程控制_习题答案

上传人:索**** 文档编号:142810057 上传时间:2020-08-23 格式:PDF 页数:8 大小:29.20KB
返回 下载 相关 举报
【精编版】第4章MATLAB程序流程控制_习题答案_第1页
第1页 / 共8页
【精编版】第4章MATLAB程序流程控制_习题答案_第2页
第2页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《【精编版】第4章MATLAB程序流程控制_习题答案》由会员分享,可在线阅读,更多相关《【精编版】第4章MATLAB程序流程控制_习题答案(8页珍藏版)》请在金锄头文库上搜索。

1、第 4 章 MATLAB程序流程控制 习题 4 一、选择题 1下列关于脚本文件和函数文件的描述中不正确的是() 。 A A函数文件可以在命令行窗口直接运行 B去掉函数文件第一行的定义行可转变成脚本文件 C脚本文件可以调用函数文件 D函数文件中的第一行必须以function 开始 2下列程序的输出结果是() 。D y=10; if y=10 y=20; elseif y0 y=30 end disp(y) A1 B30 C10 D20 3有以下语句: a=eye(5); for n=a(2:end,:) for 循环的循环次数是() 。C A3 B4 C5 D 10 4设有程序段 k=10; w

2、hile k k=k-1 end 则下面描述中正确的是() 。A A while 循环执行10 次B循环是无限循环 C循环体语句一次也不执行D循环体语句执行一次 5有以下程序段: x=reshape(1:12,3,4); m=0; 2 n=0; for k=1:4 if x(:,k) f=(x,y) log(exp(x+y); A=f(22,3); A22,3B22 C3 D 25 10程序调试时用于设置断点的函数是() 。A Adbstop Bdbclear Cdbcont Ddbstack 二、填空题 1将有关MA TLAB命令编成程序存储在一个扩展名为.m 的文件中,该文件称 为。 M

3、文件 2有语句“ for k=12;34 ”引导的循环结构,其循环体执行的次数为。 1 3MATLAB中用于控制不确定重复次数的循环语句为,若在循环执行过程 中需要终止该循环时采用的语句为。 whileend,break 4 函数文件由语句引导。 在函数定义时, 函数的输入输出参数称为参 数,简称。在调用函数时,输入输出参数称为参数,简称。 function ,形式,形参,实际,实参 5在 MA TLAB 中,函数文件中的变量是变量。定义变量是函数间 传递信息的一种手段,可以用命令定义。 局部,全局, global 6应用程序的错误有两类,一类是错误,另一类是运行时的错误,即 3 3 错误。

4、MATLAB程序调试方法有两种,一是利用进行程序调试,二是利用 进行程序调试。 语法,逻辑,调试函数,调试工具 三、应用题 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 的值从键盘输入。 5 .55.3,ln 5.35 .1,sin 5.15.0, 2 x x c b xxba xcbxax y c if语句 : a=input(a=);

5、 b=input(b=); c=input(c=); x=input(x=); if 0.5=x elseif 1.5=x elseif 3.5=x end y switch语句: a=input(a=); b=input(b=); 4 c=input(c=); x=input(x=); switch fix(x*10) case num2cell(5:14) y=a*x2+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

6、y 3产生 20 个两位随机整数,输出其中小于平均值的偶数。 x=fix(10+rand(20)*89); a=sum(x)/20; for i=1:20 if x(i)A(i) mi=A(i); end if maA(i) ma=A(i); 5 5 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+2 2+23+263 分别用循环结构和调用MATLAB的 sum 函数求 s 的值。 循环结构 : s=0; for x=0:

7、63 s=2x+s; end disp(s) sum 函数 : i=0:63; f=2.i; sum(f) 6当 n 分别取 100、 1000、10000 时,求下列各式的值: (1) )2ln( 1 ) 1( 4 1 3 1 2 1 1 1 n n (2) ) 4 ( 7 1 5 1 3 1 1 (3) ) 3 1 ( 4 1 64 1 16 1 4 1 n (4) ) 2 ( ) 12)(12( )2)(2( 75 66 53 44 31 22 nn nn 要求分别用循环结构和向量运算(使用sum 或 prod 函数)来实现。 (1): 循环结构 : n=input(请输入 n 的值:

8、); 6 s=0; for a=1:n s=s+(-1)(a+1)/a; end s 向量运算 : n=input(请输入 n 的值: ); a=1:n; f=(-1).(a+1)./a; s=sum(f) (2): 循环结构 : n=input(请输入 n 的值: ); s=0; for a=1:n; s=s+(-1)(a+1)/(2*a-1); end s 向量运算 : n=input(请输入 n 的值: ); a=1:n; f=(-1).(a+1)./(2*a-1); s=sum(f) (3): 循环结构 : n=input(请输入 n 的值: ); s=0; for a=1:n s=s

9、+(1/4)a; end s 向量运算 : n=input(请输入 n 的值: ); a=1:n; f=(1/4).a; s=sum(f) (4): 7 7 循环结构 : n=input(请输入 n 的值: ); s=1; for a=1:n f=(2*a)2/(2*a-1)*(2*a+1); s=s*f; end s 向量运算 : n=input(请输入 n 的值: ); a=1:n; f=(2*a).2./(2*a-1).*(2*a+1); s=prod(f) 7编写一个函数文件,求小于任意自然数n 的斐波那契( Fibnacci)数列各项。斐波 那契数列定义如下: 1 2 12 1 1

10、(2) nnn f f fffn function f=Fibnacci(n) for i=1:n if i=1 f=1; elseif i=2 f=1; else f=Fibnacci(i-1)+Fibnacci(i-2); end end n=input(n=); f=Fibnacci(n) 8 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在脚本文件中调用该函数。 function C,D=CJ(A,B) C=A*B; D=A.*B; 8 A=1 2 3;4 5 6;7 8 9; B=1 1 1;1 1 1;1 1 1; C,D=CJ(A,B) 9先 用函数的递 归调用定义一 个函 数文件求 1 n m i i, 然后调用该 函数文件求 1050 1 2 100 1 1 kkkk kk。 function f=xt4_10(m,n) if n1 f=0; else f=nm+xt4_10(m,n-1); end xt4_10(1,100)+xt4_10(2,50)+xt4_10(-1,10) 10写出下列程序的输出结果。 脚本文件exe.m: global x x=1:2:5; y=2:2:6; sub(y); x y 函数文件sub.m: function fun=sub(z) global x z=3*x; x=x+z;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号