搜档网
当前位置:搜档网 › (完整版)第4章MATLAB程序流程控制_习题答案

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

(完整版)第4章MATLAB程序流程控制_习题答案
(完整版)第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次B.循环是无限循环

C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段:

x=reshape(1:12,3,4);

m=0;

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,3B.22 C.3 D.25

10.程序调试时用于设置断点的函数是()。A

A.dbstop B.dbclear C.dbcont D.dbstack

二、填空题

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

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

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

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

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

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

2

3

3

错误。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,2x x c b x x b a x c bx ax y c 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=');

c=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个数,求其中最大数和最小数。要求分别用循环结构和调用MA TLAB的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

ma=A(i);

4

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+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时,求下列各式的值:

(1) )2ln (1

)1(41312111=+-++-+-+ΛΛn n (2) )4(7151311π=+-+-Λ

(3) )31

(4

164116141=+++++

ΛΛn (4) )2()12)(12()2)(2(756653443122π

n n n n =???

? ??+-??

?

??????? ???????

????ΛΛ 要求分别用循环结构和向量运算(使用sum 或prod 函数)来实现。 (1): 循环结构:

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

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+(1/4)^a;

end

s

向量运算:

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

a=1:n;

f=(1/4).^a;

s=sum(f)

(4):

6

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 )数列各项。斐波那契数列定义如下:

121211

(2)

n

n n f f f f f

n --=??

=??=+>?

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

=∑,然后调用该函数文件求

∑∑=

==++10

50

1

2

1001

1k k k k

k

k 。 function f=xt4_10(m,n) if n<1 f=0; else

f=n^m+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;

MATLAB编程作业

《Matlab 编程训练》 作业 专 业 学生姓名 班级 学 号 指导教师 完成日期

实训一 MATLAB 语言介绍和数值计算 1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存变量。 12 2sin851z e =+ . 2. 已知 1234413134787,2033657327A B --???? ????==???? ????-???? ,求下列表达式的值: (1) A+6*B 和A-B+I (其中I 为单位矩阵) A+6*B:

A-B+I: (2)A*B和A.*B A*B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] c=A*B 结果: A.*B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] D=A.*B 结果:

(3)A^3和A.^3 A^3程序: A=[12 34 -4;34 7 87;3 65 7] E=A^3 结果: A.^3程序: A=[12 34 -4;34 7 87;3 65 7] C=A.^3 (4)A/B及B\A A/B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] C=A/B 结果:

B\A程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] D=B\A 结果: (5)将矩阵C=B\A的右下角2*2子矩阵赋给D, 并(3)保存变量(mat文件)程序: A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; C=B*inv(A); D=C(2:3,2:3) 结果:

MATLAB程序设计教程(第二版)课后答案(可编辑修改word版)

MATLAB 第二版课后答案unit3-8 unit3 实验指导 1、 n=input('请输入一个三位数:'); a=fix(n/100); b=fix((n-a*100)/10); c=n-a*100-b*10; d=c*100+b*10+a 2(1) n=input('请输入成绩'); switch n case num2cell(90:100) p='A'; case num2cell(80:89) p='B'; case num2cell(70:79) p='C'; case num2cell(60:69) p='D'; otherwise p='E'; end price=p (2)n=input('请输入成绩'); if n>=90&n<=100 p='A'; elseif n>=80&n<=89 p='B'; elseif n>=70&n<=79 p='C'; elseif n>=60&n<=69 p='D'; else p='E'; end price=p (3)try n; catch price='erroe' end 3 n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];

b=n(1); for m=2:20 if n(m)>a a=n(m); elseif n(m)=0 disp(A([n],:)); elseif n<0 disp(lasterr); else disp(A([6],:)); disp(lasterr); end 7(1) f=[];

随机过程matlab程序

基本操作 -5/(4.8+5.32)^2 area=pi*2.5^2 x1=1+1/2+1/3+1/4+1/5+1/6 exp(acos(0.3)) a=[1 2 3;4 5 6;7 8 9] a=[1:3,4:6,7:9] a1=[6: -1:1] a=eye(4) a1=eye(2,3) b=zeros(2,10) c=ones(2,10) c1=8*ones(3,5) d=zeros(3,2,2); r1=rand(2, 3) r2=5-10*rand(2, 3) r4=2*randn(2,3)+3 arr1=[1.1 -2.2 3.3 -4.4 5.5] arr1(3) arr1([1 4]) arr1(1:2:5) arr2=[1 2 3; -2 -3 -4;3 4 5] arr2(1,:) arr2(:,1:2:3) arr3=[1 2 3 4 5 6 7 8] arr3(5:end) arr3(end) 绘图

x=[0:1:10]; y=x.^2-10*x+15; plot(x,y) x=0:pi/20:2*pi y1=sin(x);y2=cos(x); plot(x,y1,'b-'); hold on; plot(x,y2,‘k--’); legend (‘sin x’,‘cos x’); x=0:pi/20:2*pi; y=sin(x); figure(1) plot(x,y, 'r-') grid on 以二元函数图 z = xexp(-x^2-y^2) 为例讲解基本操作,首先需要利用meshgrid 函数生成X-Y平面的网格数据,如下所示: xa = -2:0.2:2; ya = xa; [x,y] = meshgrid(xa,ya); z = x.*exp(-x.^2 - y.^2); mesh(x,y,z); 建立M文件 function fenshu( grade ) if grade > 95.0 disp('The grade is A.'); else if grade > 86.0 disp('The grade is B.'); else

MATLAB程序设计作业

Matlab程序设计 班级 姓名 学号

《MATLAB程序设计》作业 1、考虑如下x-y 一组实验数据: x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y=[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2] 分别绘出plot的原始数据、一次拟合曲线和三次拟合曲线,给出MATLAB代码和运行结果。 代码如下: x=[1,2,3,4,5,6,7,8,9,10]; y=[1.2,3,4,4,5,4.7,5,5.2,6,7.2]; plot(x,y); title('原始数据'); p=polyfit(x,y,1); q=polyval(p,x); figure,plot(x,q); title('一次拟合'); p=polyfit(x,y,2); q=polyval(p,x); figure,plot(x,q); title('二次拟合'); 运行结果如下:

1 2 3 4 5 6 7 8 9 10 12 3 4 5 6 7 8 原始数据 123 456789 102 2.5 3 3.54 4.5 55.56 6.57一次拟合 123456789 101 2 3 4 5 6 7 二次拟合 2、在[0,3π]区间,绘制y=sin(x)曲线(要求消去负半波,即(π,2π)区间内的函数值置零),求出曲线y 的平均值,以及y 的最大值及其最大值的位置。给出执行代码和运行结果。 代码如下: clear clc x=(0:0.01:3*pi); y=sin(x); plot(x,y); y1=(y>=0).*y; figure,plot(x,y1);

MATLAB程序设计教程课后答案

实验指导 1、 n=input('请输入一个三位数:'); a=fix(n/100); b=fix((n-a*100)/10); c=n-a*100-b*10; d=c*100+b*10+a 2(1) n=input('请输入成绩'); switch n case num2cell(90:100) p='A'; case num2cell(80:89) p='B'; case num2cell(70:79) p='C'; case num2cell(60:69) p='D'; otherwise p='E'; end price=p (2)n=input('请输入成绩'); if n>=90&n<=100 p='A'; elseif n>=80&n<=89 p='B'; elseif n>=70&n<=79 p='C'; elseif n>=60&n<=69 p='D'; else p='E'; end price=p (3)try n; catch price='erroe' end 3 n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6]; a=n(1);

for m=2:20 if n(m)>a a=n(m); elseif n(m)=0 disp(A([n],:)); elseif n<0 disp(lasterr); else disp(A([6],:)); disp(lasterr); end 7(1) f=[]; for n=1:40

matlab程序设计实例

MATLAB 程序设计方法及若干程序实例 樊双喜 (河南大学数学与 信息科学学院开封475004) 摘要本文通过对 MATLAB 程序设计中的若干典型问题做简要的分析和总结,并在此基础上着重讨论了有关算法设计、程序的调试与测试、算法与程序的优化以及循环控制等方面的问题.还通过对一些程序实例做具体解析,来方便读者进行编程训练并掌握一些有关MATLAB 程序设计方面的基本概念、基本方法以及某些问题的处理技巧等.此外,在文章的最后还给出了几个常用数学方法的算法程序, 供读者参考使用.希望能对初学者进行 MATLAB 编程训练提供一些可供参考的材料,并起到一定的指导和激励作用,进而为MATLAB 编程入门打下好的基础. 关键字算法设计;程序调试与测试;程序优化;循环控制 1 算法与程序 1.1 算法与程序的关系算法被称为程序的灵魂,因此在介绍程序之前应先了 解什么是算法.所谓算 法就是对特定问题求解步骤的一种描述.对于一个较复杂的计算或是数据处理的问题,通常是先设计出在理论上可行的算法,即程序的操作步骤,然后再按照算法逐步翻译成相应的程序语言,即计算机可识别的语言. 所谓程序设计,就是使用在计算机上可执行的程序代码来有效的描述用于解决特定问题算法的过程.简单来说,程序就是指令的集合.结构化程序设计由于采用了模块分化与功能分解,自顶向下,即分而治之的方法,因而可将一个较复杂的问题分解为若干子问题,逐步求精.算法是操作的过程,而程序结构和程序流程则是算法的具体体现. 1.2MATLAB 语言的特点 MATLAB 语言简洁紧凑,使用方便灵活,库函数极其丰富,其语法规则与科技人员的思维和书写习惯相近,便于操作.MATLAB 程序书写形式自由,利用其丰富

第4章 MATLAB程序流程控制_习题答案

精品文档 第4章 MATLAB程序流程控制 习题4 一、选择题 1.下列关于脚本文件和函数文件的描述中不正确的是()。 A A.函数文件可以在命令行窗口直接运行 B.去掉函数文件第一行的定义行可转变成脚本文件 C.脚本文件可以调用函数文件 D.函数文件中的第一行必须以function开始 2.下列程序的输出结果是()。D y=10; if y==10 y=20; elseif y>0 AHA12GAGGAGAGGAFFFFAFAF

精品文档 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 AHA12GAGGAGAGGAFFFFAFAF

精品文档 k=k-1 end 则下面描述中正确的是()。A A.while循环执行10次B.循环是无限循环 C.循环体语句一次也不执行D.循环体语句执行一次 5.有以下程序段: x=reshape(1:12,3,4); m=0; AHA12GAGGAGAGGAFFFFAFAF

精品文档 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.函数名 AHA12GAGGAGAGGAFFFFAFAF

matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化 对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

MATLAB程序设计教程(第二版)第三章实验报告下载

大学社区网收集整理https://www.sodocs.net/doc/bc16461770.html, 评分 日期湖南商学院北津学院实验报告 课程名称MATLAB科学计算编程语言 实验名称MATLAB程序设计 专业班级信科1121班 姓名xxx 学号xxx 实验日期2012年11月5日 2012—2013学年度第一学期 一、实验目的 1.掌握利用if语句、switch语句实现选择结构的方法。 2.掌握利用for语句、while语句实现循环结构的方法。 3.熟悉利用向量运算来代替循环操作的方法并理解MATLAB程序设计的特点 4.掌握定义和调用MATLAB函数的方法。

二、实验环境 系统windows7旗舰版 处理器Intel(R)Core(TM)i7-3610M CPU @ 2.30GHz 安装内存 4.00GB (3.07GB 可用)系统类型64位操作系统运行环境 MATLAB 5.3 三、实验基本原理 利用上课所学知识解决以下问题: 1.从键盘输入一个3位数的整数,将它反向输出。如输入639,输出936。 2.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。 要求: (1)分别用if 语句和switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。3.输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB 的max 函数、min 函数来实现。 4.23.0ln )3.0sin(23.03.0a a e e y a a +++?=?,当a 取-3.0、-2.9、-2.8、…、2.8、2.9、 3.0时,求各点的函数值。要求分别用顺序结构和循环结构实现。 5.当n 分别取100、1000、10000时,求下列各式的值: (1)) 6...(n 1...31211122222π=+++++(2)) 2...()12)(12()2)(2(...756653443122π =??? ?????+?????????××????????××????????××n n n n 要求分别用循环结构和向量运算(使用sum 函数)来实现。 6.建立5×6矩阵,要求输出矩阵第n 行元素。当n 值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。 7已知,o999 ) 20()30()40(f f f y += (1)当)5ln(10)(2 ++=n n n f 时,y 的值是多小。 (2)当+×+×+×=433221)(n f …+)1(+×n n 时,y 的值是多小。 8.先用函数的递归调用定义一个函数文件求 ∑=n i m i 1,然后调用该函数文件求

第4章MATLAB程序流程控制-习题答案

第4章M A T L A B程序流程控制-习题答案

第4章MATLAB程序流程控制 习题4 一、选择题 1.下列关于脚本文件和函数文件的描述中不正确的是()。A A.函数文件可以在命令行窗口直接运行 B.去掉函数文件第一行的定义行可转变成脚本文件 C.脚本文件可以调用函数文件 D.函数文件中的第一行必须以function开始 2.下列程序的输出结果是()。D y=10; ify==10 y=20; elseify>0 y=30 end disp(y) A.1B.30C.10D.20 3.有以下语句: a=eye(5); forn=a(2:end,:) for循环的循环次数是()。C A.3B.4C.5D.10 4.设有程序段 k=10; whilek k=k-1 end 则下面描述中正确的是()。A A.while循环执行10次B.循环是无限循环 C.循环体语句一次也不执行D.循环体语句执行一次 5.有以下程序段: x=reshape(1:12,3,4); m=0;

n=0; fork=1:4 ifx(:,k)<=6 m=m+1; else n=n+1; end end 则m 和n 的值分别是()。C A .66 B .21 C .22 D .12 6.调用 函数时 ,如 果函数 文件名与 函数 名不一 致用()。A A .函数文件名B .函数名 C .函数文件名或函数名均可 D .@函数名 7.如果有函数声明行为“f unction[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.执行语句“f n=@(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,3B .22C .3D .25 10.程序调试时用于设置断点的函数是()。A A .dbstopB .dbclearC .dbcontD .dbstack 二、填空题 1.将有 关M A T L A B 命令编成程序存储在展名为.m 的文件中,该文件称 为。M 文件 2.有语句“f ork=[12;34]”引导的循环结构,其循环体执行的次数为。1 3.M A T L A B 中用于控制不确定重复次 数 的 循 环 中需要终止该循用的语句为。while ?end ,break 4.函数文件由语 句引导。在函 数 定 义时,函数数。在调用函数时,输入输出为参数。 function ,形式,形参,实际,实参 5.在MATLAB 中,函数文件中的变量是变量。定义变量是函数间 传递信息的一种手段用命令定义。局部,全局,global 6.应用程序的错误有两类,一类是错误,另一类是运行时的错误,即 2

管理学(周三多)书后习题-第十四章 控制与控制过程

管理学(周三多)书后习题-第十四章控制与控制过程 一、习题 (一)填充题 1、控制是为了保证_________与_________适应的管理职能。 2、控制工作的主要内容包括_________、_________和_________。 3、预先控制的内容包括_________和_________两个方面。 4、成果控制的主要作用,是通过总结过去的经验和教训,为_________提供借鉴。 5、成果控制主要包括_________、_________、_________以及_________等内容。 6、企业应根据_________和_________来确定控制的范围和频度,建立有效 的控制系统。 7、适度控制是指控制的_________、_________和_________要恰到好处。 8、控制的过程都包括三个基本环节的工作:_________、_________和_________。 9、一般来说,企业可以使用的建立标准的方法有三种:_________、_________、_________。 10、工程标准也是一种用统计方法制定的控制标准,不过它不是对历史性统计资料的分析,而是通过对_________。 11、在采取任何纠正措施以前,必须首先对_________。 12、一般地说,弹性控制要求企业制定_________和_________。 (二)选择题 1、有效的控制要求_________ A.选择关键的经营环节 B.确定恰当的控制频度 C.收集及时的信息 D.合理运用预算或非预算的控制手段 2、根据确定控制标准Z值的方法,控制过程可以分为_________。 A.程序控制 B.跟踪控制 C.最佳控制 D.自适应控制 3、在企业生产经营活动中,属于跟踪控制性质的有_________。 A.税金的交纳 B.利润、工资、奖金的分配 C.信息控制程序 D.资金、材料的供应 4、_________都是应用了最佳控制原理进行决策和管理。 A.用最小费用来控制生产批量 B.用最低成本来控制生产规模 C.用最大利润率控制投资 D.用最短路程控制运输路线 5、财务分析的目的是_________ A.了解本期资金占用和利用的结果

第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次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段: x=reshape(1:12,3,4); m=0;

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.应用程序的错误有两类,一类是错误,另一类是运行时的错误,即错

实验二--MATLAB程序的设计(含实验报告)

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2→1 3→10→5→16→8→4→2→1 6→3→10→5→16→8→4→2→1

Matlab编程与应用习题和一些参考答案

Matlab 上机实验一、二 3.求下列联立方程的解???????=+-+-=-+=++-=--+4 1025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; >> b=[4;4;9;4]; >> c=a\b 4.设???? ??????------=81272956313841A ,??????????-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。 >> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8]; >> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C1=A*B' >> C2=A'*B >> C3=A.*B >> inv(C1) >> inv(C2) >> inv(C3) 5.设 ?? ????++=)1(sin 35.0cos 2x x x y ,把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') 6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var ) a=randn(8,6) mean(a) var(a) k=mean(a) k1=mean(k) i=ones(8,6) i1=i*k1 i2=a-i1 i3=i2.*i2 g=mean(i3) g2=mean(g)

Matlab程序设计教程(第二版)刘卫国课后参考答案解析

第二章 1 求下列表达式的值。 (1) w=sqrt(2)*(1+0.34245*10^(-6)) (2) a=3.5; b=5; c=-9.8; x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/tan(b+c)+a (3) a=3.32; b=-7.9; y=2*pi*a^(2)*[(1-pi/4)*b-(0.8333-pi/4)*a] (4) t=[2,1-3*i;5,-0.65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^(2))) 2 求下列表达式 A=[-1,5,-4;0,7,8;3,61,7]; B=[8,3,-1;2,5,3;-3,2,0]; (1) A+6*B A^2-B+eye (2) A*B A.*B B.*A (3) A/B B\A (4) [A,B] [A([1,3],:);B^2] 3 根据已知,完成下列操作 (1) A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; K=find(A>10&A<25); A(K) (2) A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C (3) E

f=input('输入一个数:','s'); f(end :-1:1) 2 用if语句 score=input('请输入成绩:'); if score>=90&&score<=100 disp('A'); elseif score>=80&&score<=89 disp('B'); elseif score>=70&&score<=79 disp('C'); elseif score>=60&&score<=69; disp('D'); elseif score<60&&score>=0; disp('E'); else disp('出错'); end 用switch语句 score=input('请输入成绩:'); switch fix(score/10) case {9,10} disp('A'); case {8} disp('B'); case {7} disp('C'); case {6} disp('D'); case {0,1,2,3,4,5} disp('E'); otherwise disp('出错'); end 第四章1题 1) X=0:10; Y=x-x.^3/6; P lot(x,y)

matlab程序设计作业

Matlab程序设计作业 姓名: 学号: 专业:

? MATLAB 程序设计》作业 1、考虑如下x-y 一组实验数据: x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y 二[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2] 分别绘出plot 的原始数据、一次拟合曲线和三次拟合曲线,给出 原始曲线 MATLAB 代码和运行结果。 7 6 5 4 3 2 2 3 4 5 6 7 8 9 10

7 6.5 6 5.5 5 4.5 4 3.5 3 2.5 10 一次拟合 三次拟合

x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; y=[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2]; figure; plot(x,y) p1=polyfit(x,y,1); y1=polyval(p1,x); figure; plot(x,y1) p2=polyfit(x,y,3); y2=polyval(p2,x); figure; plot(x,y2) 2、在[0, 3n区间,绘制y二Sin(x)曲线(要求消去负半波,即(n 2n)区间内的函数值置零),求出曲线y 的平均值,以及y 的最大值及其最大值的位置。给出执行代码和运行结果。 x=0:pi/1000:3*pi; y=Sin(x); y1=(y>=0).*y; %消去负半波figure(1); plot(x,y1, 'b' ); a=mean(y1) %求出y1 的平均值 b=max(y1) %求出y1 的最大值b, 以及最大值在矩阵中的位置; d=x(find(y1==b)) >> ex1 a = 0.4243 b = 1 d = 1.5708 7.8540 >>

MATLAB程序设计教程课后答案.doc

MATLAB第二版课后答案unit3-8 unit3 实验指导 1、 n=input('请输入一个三位数:'); a=fix(n/100); b=fix((n-a*100)/10); c=n-a*100-b*10; d=c*100+b*10+a 2( 1) n=input(' 请输入成绩 '); switch n case num2cell(90:100) p='A'; case num2cell(80:89) p='B'; case num2cell(70:79) p='C'; case num2cell(60:69) p='D'; otherwise p='E'; end price=p (2) n=input(' 请输入成绩 '); if n>=90&n<=100 p='A'; elseif n>=80&n<=89 p='B'; elseif n>=70&n<=79 p='C'; elseif n>=60&n<=69 p='D'; else p='E'; end price=p (3) try n; catch price='erroe' end 3 n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];

a=n(1) ; b=n(1); for m=2:20 if n(m)>a a=n(m); elseif n(m)=0 disp(A([n],:)); elseif n<0 disp(lasterr); else disp(A([6],:)); disp(lasterr); end 7( 1) f=[];

第四章 单片机流程控制

第四章 Cx51的流程控制 C语言是结构化编程语言,结构化语句有若干模块组成,每个模块中包含着若干个基本结构,每个基本结果中可以又若干调语句。归纳起来,C语言又三种基本结构: 1)顺序结构; 2)选择结构; 3)循环结构。 一、选择控制语句 C51 的选择语句主要有if 语句和switch/case 语句。 1、 if 语句 1)基本结构 if(表达式) {语句} 表达式为真执行花括号中的语句,否则跳过花括号中的语句。如果没有花括号,执行紧随其后的一句。 2)C51 提供三种形式的if 语句: ① if(表达式){语句;} ② if(表达式){语句1;} else {语句2;} ③ if(表达式1){语句1;} else if(表达式2){语句2;} else if(表达式3){语句3;}

此外,如果一个if 语句中又含有一个或多个if 语句,则称为if 语句嵌套。在if 语句嵌套中应注意if 与else 的对应关系,else 总是与它前面最近的一个if 语句相对应。 例1:某浮点数的范围在0.000~9999 之间,试编写一个函数返回浮点数的小数点位置。根据小数点的位置,即可在实际的单片机系统中显示出小数。 解:此题的基本思路是根据浮点数的4 种取值范围给出4 种不同的返回值,可以约定当定浮点数的大小在0.000~9.999、10.00~99.99、100.0~999.9、1000~9999 之间时,分别返回0、1、2 和3。参考程序如下: int ftochar(float valp) { int dotno=0; if(valp<10.0) dotno=0; else if((valp>=10.0)&&(valp<100.0)) dotno=1; else if((valp>=100.0)&&(valp<1000.0)) dotno=2; else if(valp>=1000.0) dotno=3; return dotno; }//代码长度298 也可以这样编:

Matlab程序设计(2016大作业)

Matlab程序设计 课程大作业 题目名称:_________________________________ 班级:_________________________________ 姓名:_________________________________ 学号:_________________________________ 课程教师:温海骏 学期:2015-2016学年第2学期 完成时间: MATLAB优化应用 §1 线性规划模型 一、线性规划问题: 问题1:生产计划问题 假设某厂计划生产甲、乙两种产品,现库存主要材料有A类3600公斤,B类2000公斤,C类3000公斤。每件甲产品需用材料A类9公斤,B类4公斤,C类3公斤。每件乙产品,需用材料A类4公斤,B类5公斤,C类10公斤。甲单位产品的利润70元,乙单位产品的利润120元。问如何安排生产,才能使该厂所获的利润最大。 问题2:投资问题 某公司有一批资金用于4个工程项目的投资,其投资各项目时所得的净收益(投入资金百分比)如下表:工程项目收益表 工程项目 A B C D 收益(%) 15 10

12 由于某种原因,决定用于项目A的投资不大于其他各项投资之和而用于项目B和C的投资要大于项目D的投资。试确定该公司收益最大的投资分配方案。 问题3:运输问题 有A、B、C三个食品加工厂,负责供给甲、乙、丙、丁四个市场。三个厂每天生产食品箱数上限如下表: 工厂 A B C 生产数 60 40 50 四个市场每天的需求量如下表: 市场 甲 乙 丙 丁 需求量 20 35 33 34 从各厂运到各市场的运输费(元/每箱)由下表给出: 收点 发点 市场 甲 乙 丙 丁 工 厂 A 2 1 3 2 B

第四章 流程控制

第四章流程控制 1、教学要求 (1)了解C#中的布尔类型的定义与使用方法 (2)理解位运算 (3)掌握分支语句,包括if和switch (4)掌握循环语句,包括for、while、do while (5) 学会分析问题,并使用分支和循环解决 2、教学内容 4.1 布尔逻辑的含义及其用法 4.2位运算的含义及其用法 4.3 分支语句 4.4循环语句 4.5 “QQ系统登录”项目案例 第五章复杂的变量类型处理(余) 1、教学要求 (1)掌握枚举类型的定义和使用 (2)掌握结构类型的定义和使用 (3)掌握一维、二维数组的使用 (4)理解隐式和显式类型转换 (5)掌握.NET对字符串的处理常见功能,包括字符串的查找、替换、格式化、调整等 2、教学内容 5.1 枚举的定义与使用 5.2 结构体的定义与使用 5.3 数组的定义与使用 5.4类型转换 5.5字符串处理 5.6“图形菜单”项目案例 学习任务:“QQ系统登录”案例 ?任务情境:

某公司的产品要设计一个QQ登录系统,要求系统可以防止用户反复通过暴力测试密码的方式实现非法登录的目的。 4.1 布尔逻辑的含义及其用法 ?逻辑运算符 逻辑运算符是用来连接多个条件表达式的, 在 C 语言中逻辑运算符有:& (与)、| (或)、!(非)三种。 & (与) 运算符用法: <条件表达式1> & <条件表达式2> 当 <条件表达式1> 和 <条件表达式2> 的值都为真时,&(与)运算的结果为真,否则为假。 bool isTrue = true & true; bool isFalse = true & false; bool isFalse2 = false & true; bool isFalse3 = false & false; |(或) 运算符用法: <条件表达式1> | <条件表达式2> 当 <条件表达式1> 和 <条件表达式2> 中只要有一个为真时, | (或) 运算的结果为真,否则为假。 bool isTrue = true | true; bool isTrue2 = true | false; bool isTrue3 = false | true; bool isFalse = false | false ?短路逻辑运算符 –在 C# 中加入了两个新的逻辑运算符,即 && 和 | |运算符,它们与 & 和 | 运算符一样,也是用来连接两个条件表达式的,但有一些细微的区别: && 运算符在对条件表达式进行检测时,当条件表达式 1 的值为假时,将不对条件表达式 2 进行进行值,只有当条件表达式 1 的值为真时才会对条件表达式 2进行求值。 而 | | 运算符则是在条件表达式 1 不为真时,才会对条件表达式 2 进行求值。