Matlab实验5选择结构程序结构.doc_第1页
Matlab实验5选择结构程序结构.doc_第2页
Matlab实验5选择结构程序结构.doc_第3页
Matlab实验5选择结构程序结构.doc_第4页
Matlab实验5选择结构程序结构.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

实验五、选择与循环结构一、 实验目的:1、 掌握建立和执行M文件的方法。2、 掌握利用if语句实现选择结构的方法。3、 掌握利用switch语句实现多分支选择结构的方法。4、 掌握try语句的使用。5、 掌握利用for语句实现循环结构的方法。6、 掌握利用while语句实现循环结构的方法。7、 熟悉利用向量运算来代替循环的操作方法。二、 实验内容:1、 列分段函数的值。要求:(1) 用if语句实现,分别输出x=-0.5,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。提示:x的值从键盘输入,可以是向量。%homework_5_1_1.mx=input(请输入x的值:x=);if (x=0 & x homework_5_1请输入x的值:x=-0.5 -3.0 1.0 2.0 2.5 3.0 5.0y = -5.2500 6.0000 -6.0000 -4.0000 -2.2500 0 14.0000(2) 用逻辑表达式实现上述函数。%homework_5_1_2.mx=input(请输入x的值:x=)y=(x=0 & x=10 | x=-3 | x=3 | x=2).*(x.*x-x-6) homework_5_1_2请输入x=-0.5 -3.0 1.0 2.0 2.5 3.0 5.0x = -0.5000 -3.0000 1.0000 2.0000 2.5000 3.0000 5.0000y = -6.2500 6.0000 2.0000 -4.0000 -0.2500 0 6.00002、 输入一个百分制成绩,要求输出成绩的等级为A,B,C,D,E。其中90100分为A,8089分为B,7079分为C,6069分为D,60分以下为E。要求:(1)分别用if语句和switch语句实现。%homework_5_2_1.mclear;disp( if_else语句!)x=input(请输入分数:);if (x=90) disp(A)elseif (x=80 & x=70 & x=60 & x=69) disp(D)elseif (x homework_5_2_1if_else语句!请输入分数:99A homework_5_2_1if_else语句!请输入分数:50E%homework_5_2_1_switch.mclear;disp( switch语句!)c=input(请输入成绩:); switch c case num2cell(90:100), disp(A); case num2cell(80:89), disp(B); case num2cell(70:79), disp(C); case num2cell(60:69), disp(D); otherwisedisp(E); end homework_5_2_1_switchswitch语句!请输入成绩:95A(2)输入百分制成绩后要判定该成绩的合理性,对不合理的成绩要输出出错信息。%homework_5_2_1.mclear;disp( if_else语句!)x=input(请输入分数:);if (x=90) disp(A)elseif (x=80 & x=70 & x=60 & x=69) disp(D)elseif (x60) disp(E)elseif (x100) disp(ERROR)end homework_5_2_1if_else语句!请输入分数:120ERROR%homework_5_2_1_switch.mclear;disp( switch语句!)c=input(请输入成绩:); switch c case num2cell(90:100), disp(A); case num2cell(80:89), disp(B); case num2cell(70:79), disp(C); case num2cell(60:69), disp(D); case num2cell(0:59), disp(E); otherwise disp(输入错误!); end homework_5_2_1_switchswitch语句!请输入成绩:120输入错误!3、 建立 56矩阵,要求输出矩阵的第n行元素,当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素、并给出出错信息。%homework_5_3.mclear;clc;A=eye(6);A(6,:)=;An=input(输出矩阵的第n行元素,n=);try A(n,:)catch disp(矩阵只有5行元素!);end homework_5_3A = 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0输出矩阵的第n行元素,n=4ans = 0 0 0 1 0 0 homework_5_3A = 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0输出矩阵的第n行元素,n=7矩阵只有5行元素!4、 根据求的近似值。当n分别取100、1000、10000结果是多少?要求:分别用循环结构和向量运算(使用sum函数)来实现。%homework_5_4.mclear;disp(循环结构);n=input(输入循环次数 n= );y=0;for i=1:n y=y+1./(i.*i);enddisp(圆周率=,num2str(sqrt(6.*y); homework_5_4循环结构输入循环次数 n= 100圆周率=3.1321 homework_5_4循环结构输入循环次数 n= 1000圆周率=3.1406 homework_5_4循环结构输入循环次数 n= 10000圆周率=3.1415%homework_5_4_sum.mclear;disp(向量运算(使用sum函数));n=input(循环次数 n= );i=1:n;y=1./(i.*i);disp(圆周率=,num2str(sqrt(6*sum(y); homework_5_4_sum向量运算(使用sum函数)循环次数 n= 100圆周率=3.1321 homework_5_4_sum向量运算(使用sum函数)循环次数 n= 1000圆周率=3.1406 homework_5_4_sum向量运算(使用sum函数)循环次数 n= 10000圆周率=3.14155、 根据,求:(1)的最大n值。(2)与(1)的n对应的y。%homework_5_5.mclear;y=0;for i=1:10000 y=y+1./(2.*i-1); if(y=3) break; endendy=y-1./(2.*i-1)i=i-1 homework_5_5y = 2.9944i = 566、 一个三位整数各位数字的立方和等于该数的本身则称该数为水仙花数。试输出全部水仙花数。要求:(1)用循环结构实现。%homework_5_6_1.m%fix(x)向零取整clearfor M=100:999 M3=fix(M./100); %fix(x)向零取整 M2=fix(M-M3.*100)./10); M1=M-100.*M3-10.*M2; if(M1.*M1.*M1+M2.*M2.*M2+M3.*M3.*M3=M) disp(M); endend homework_5_6_1 153 370 371 407(2)用向量运算来实现。提示:全部三位整数组成向量M;分别求M各个元素的个位、十位、百位数字,组成向量M1、M2、M3;向量N=M1.*M1.*M1+M2.*M2.*M2+M3.*M3.*M3;向量K=M-N;显然K中的零元素的序号即M中的水仙花的序号。%homework_5_6_2.mclearM=100:999;M3=fix(M./100); %fix(x)向零取整M2=fix(M-M3.*100)./10);M1=M-100.*M3-10.*M2;N=M1.*M1.*M1+M2.*M2.*M2+M3.*M3.*M3;K=M-N;M(find(K=0) homework_5_6_2ans = 153 370 371 4077、 已知 求中:(1)最大值、最小值、各数之和。(2)正数、零、负数的个数。提示:可以考虑使用Matlab的有关函数实现。%homework_5_7_1.mclear;zheng=0;ling=0;fu=0;for i=1:100 if(i=1) f(i)=1; elseif(i=2) f(i)=0; elseif(i=3) f(i)=1; else f(i)=f(i-1)-2.*f(i-2)+f(i-3); end if(f(i)0) zheng=zheng+1; end if(f(i)=0) ling=ling+1; end if(f(i) homework_5_7_1max(f)=437763282635 min(f)=-899412113528 sum(f)=-742745601951zheng=49 ling=2 fu=498、 从数组1,2,。n随机选出m(m=n)个不重复的元素.n=input(n=?);a=1:n;m=input(m=?);b=zeros(size(1:m);for i

温馨提示

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

评论

0/150

提交评论