安徽师范大学《计算方法》实验课程序+答案(数学专业)六_第1页
安徽师范大学《计算方法》实验课程序+答案(数学专业)六_第2页
安徽师范大学《计算方法》实验课程序+答案(数学专业)六_第3页
安徽师范大学《计算方法》实验课程序+答案(数学专业)六_第4页
安徽师范大学《计算方法》实验课程序+答案(数学专业)六_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验六第3章MATLAB程序设计

第二节程序控制结构

四、其他流程控制语句

•break语句

•continue语句

・return语句

•try语句

•echo命令

•keyboard命令

•pause命令

1.break和continue语句

与循环结构相关的语句还有break语句和continue语句.它们一般

与if语句配合使用.

break语句用于终止循环的执行.当在循环体内执行到该语句时,

程序将跳出循环,继续执行循环语句后的下一语句.

continue语句控制跳过循环体中的某些语句.当在循环体内执行到

该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环.

■例15求[100,200]之间第一个能被21整除的整数.

forn=100:200forn=100:200

ifrem(n,21)-=0ifrcm(n,21)==0

continuebreak

endend

breakend

endn

i

n

2.try语句

语句格式为:

try

语句组1

catch

语句组2

end

try语句先试探性执行语句组1,如果语句组1在执行过程中出现

错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2.

这种试探性执行语句是其他高级语言所没有的.

■例16矩阵乘法运算要求两矩阵的维数相容,否则会出

错.先求两矩阵的乘积,若出错,则自动转去求两

矩阵的点乘.

functionC=rc(A,B)%A,B为矩阵

try

C=A*B;

catch

C=A.*B;

end

lasterr%显示出错原因

2

3.请求键盘输入命令keyboard

暂停运行程序并处于等待键盘输入状态(便于调试及程序运行中

修改变量),键入“return”程序继续运行.如

functiony=f(x)

keyboard

y=(5*x-6)/((x-3)*(x-3)+2);

运行如下:

»f»y=f(4)

K»x=4;K»return

K»return

y=

ans=

4.6667

4.6667

4.echo命令(在命令窗口,程序调用前使用)

一般情况下,M文件执行时,文件中的命令不会显示在命令窗

口.echo命令可使文件命令在执行时可见.这对程序的调试及演示很有

用.对命令文件和函数文件,echo的作用稍微有些不同.

•对命令文件,其格式如下:

echoon打开命令文件的回应命令

echooff关闭回应命令

•对函数文件,其格式如下:

echofileon使指定的file文件的命令在执行中被显示出来

echofileoff关闭指定文件的命令在执行中的回应

3

习题:

一、阅读理解下列程序,并在计算机上运行.

1.qjsh.ni

functions=qjsh(a,x)%a为多项式系数向量(按降幕)

n=length(a);s=a(1);

fork=l:n

s=s*x+a(k);

end

(以/+2x+1测试,并计算3x4+7A-3+9x2-23的值)

2.wanshu.m

functionwanshu(n)%n为正整数

A=[];

form=l:n

s=0;

fork=l:m/2

ifrem(m,k)==0

s=s+k;

end

end

ifm==s

A=[A,m];

end

end

disp(A)

(对〃=IO测试,并对不同的〃计算)

4

3.dazhe.m

price=inputC请输入商品价格:,);

switchfix(price/100)

case{0,1}

rate=O;

case{2,3,4}

rate=3/100;

casenuin2cell(5:9)

rate=5/100;

casenum2cell(10:24)

rate=8/100;

casenum2cell(25:49)

rate=l()/100;

otherwise

rate=14/100;

end

price=price*(l-rate)

(对各种商品价格进行计算)

4.num.m

%Classic“3n+l”problemfromnumbertheory,

while1

n=input(6Eiitern,negativequits.9)

ifn<=0,break,end

whilen>l

ifrem(n,2)==0

n=n/2

else

n=3;3:n+l

end

end

end

5

5.dd.m

function[k,y]=dd(x,e)%x为迭代初值,e为精度

y(l)=x;er=l;k=1;w=7/25;

whileer>e

x=w*x+(1・w)*f(x);

k=k+l;

y(k)=x;er=abs(y(k)-y(k-l));

end

functiony=f(x)%为子函数

y=l/(l+x);

(课本P266,对不同的初值及精度运行)

二、阅读理解下列程序,并在计算机上调试修改运行.

1.jc.m

functions=jc(n)%。为正整数

s=n;

fork=n:1

s=(s+l)*k;

2.la.m(以课本P32例2、P33例3测试)

functiony=la(X,Y,x)

%X为节点向量,Y为节点相应的函数值向量,x为插值点

n=size(X);y=0;

fori=l:n

k=l;

forj=l:n

6

ifj~=i

k=k*(x-X(j))/(X(i)-X(j));

end

y=y+k*Y(i);

end

end

三、编程并在计算机上调试修改运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论