1 / 7
文档名称:

(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)五.pdf

格式:pdf   大小:174KB   页数:7页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)五.pdf

上传人:小屁孩 2023/3/13 文件大小:174 KB

下载得到文件列表

(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)五.pdf

文档介绍

文档介绍:该【(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)五 】是由【小屁孩】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)五 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。实验五第3章MATLAB程序设计
第二节程序控制结构
三、选择结构
选择结构是根据给定的条件成立或不成立,分别执行不同的语

条件语句:if–end和开关语句:switch-end.
——else—end语句
if-end语句的格式为:if-else-end语句的格式为:
if条件表达式
语句组1
if条件表达式
语句组else
end语句组2
end
—elseif—else—end语句
if—elseif—else—end语句的格式为:
if条件表达式1
语句组1
条件1是真语句组1
elseif条件表达式2是

语句组
2条件2是真语句组2
......是

elseif条件表达式m


语句组m
条件m是真语句组m
else

语句组假
语句组
end
1
1;x0
■例求函数,输入值,输出值
11y0;xxy.

1;x0
解:
functiony=fuhao(x)
ifx<0
y=-1;
elseifx==0
y=0;
else
y=1;
end
■例12一个三位正整数各位数字的立方和等于该数本身则称该数
.
解:程序如下
A=[];
form=100:999
m1=fix(m/100);%求m的百位数字
m2=rem(fix(m/10),10);%求m的十位数字
m3=rem(m,10);%求m的个位数字
ifm==m1*m1*m1+m2*m2*m2+m3*m3*m3
A=[A,m];
end
end
disp(A)
,运行结果:
153370371407
2
-end语句
根据表达式的不同取值,:
求表达式的值k
switch表达式
case值1
K=值1?是语句组1
语句组1

case值2
K=值2?是语句组2
语句组2

......


case值m
语句组mK=值m?是语句组m
otherwise否
语句组n语句组n
end
switch-end语句的
下一句
■例13阅读程序
method=input('请输入方法名:')
switchmethod
case{'linear','bilinear'}
disp('Methodislinear')
case'cubic'
disp('Methodiscubic')
case'nearest'
disp('Methodisnearest')
otherwise
disp('Unknownmethod.')
end
3
■例14用switch-end语句编一程序,对于给定的一个百分制成绩,
输出相应的五分制成绩,设:90分以上为‘A’,80~89分为‘B’,70~
79分为‘C’,60~69分为‘D’,60分以下为‘E’.
functionsctole(score)
grade=fix(score/10);
switchgrade
case{10,9}
grade='A'
case8
grade='B'
case7
grade='C'
case6
grade='D'
otherwise
grade='E'
end
■关于switch-end语句的几点注解:
Matlab首先计算表达式的值,然后将它依次与各个case指令
后的检测值进行比较,当比较结果为真时,就执行相应的语句
组,然后跳出switch-end结构
如果所有的比较结果都为假,则执行otherwise后面的语句
组,然后跳出switch-end结构
otherwise指令可以不出现
switch后面的表达式的值可以是一个标量或字符串
case指令后的检测值超过一个时,应用{}括起来
4<br****题:
一、阅读下列程序,并在计算机上运行.

functiony=control(n)
a=20;
ifn==0
y=a+1;
elseifn==1
y=a*(1+n);
elseifn==2
y=a+n;
else
y=a;
end

x=input(&#39;请输入x的值:&#39;);
ifx==10
y=cos(x+1)+sqrt(x*x+1);
else
y=x*sqrt(x+sqrt(x));
end
y

clear
n=input(‘输入百分制分数n=&#39;);
ifn&gt;=90
r=&#39;A&#39;
5
elseifn&gt;=80
r=&#39;B&#39;
elseifn&gt;=70
r=&#39;C&#39;
elseifn&gt;=60
r=&#39;D&#39;
else
r=&#39;E&#39;
end

s=0;
a=[65,76,56,78;98,83,74,85;76,67,78,79;98,58,42,73;67,89,76,87];
fork=a
s=s+k;
end
disp(s);

%鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头36个,
脚100个,求笼内关了多少只兔子和多少只鸡?
clear
chicken=1;
while1
ifrem(100-chicken*2,4)==0&amp;(chicken+(100-chicken*2)/4)==36
break;
end
chicken=chicken+1;
end
chicken
rabbit=(100-2*chicken)/4
6
二、编写M文件,对任意的a,b,c求方程ax2bxc0的根,并
对有没有实根给出判断.
三、选做题编程实现lagrange插值多项式的计算.
7