实验二matlab的程序设计_第1页
实验二matlab的程序设计_第2页
实验二matlab的程序设计_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、实验二 matlab 的程序设计一、实验学时4 学时(课内 2 学时,课外 2 学时)二、实验类型验证性实验三、实验目的1、掌握建立和执行 M 文件的方法。2、掌握利用 if 语句实现选择结构的方法。3、掌握利用 switch 语句实现多分支选择结构的方法。4、掌握利用 for 语句实现循环结构的方法。5、掌握利用 while 语句实现循环结构的方法。6、熟悉利用向量运算来代替循环操作的方法。四、所需设备及软件1、安装了 windows xp/win7 /win8 /win10 的计算机2、matlab 开发工具五、实验基本原理1、选择结构 1)if-else-end分支结构 if 表达式 1

2、 语句 1 else if 表达式 2(可选 ) 语句2 else(可选 ) 语句3 end end若不满足,说明:(1)if 结构是一个条件分支语句, 若满足表达式的条件, 则往下执行; 则跳出 if结构。( 2) else if表达式 2与else为可选项,这两条语句可依据具体情况取舍。( 3)注意:每一个 if 都对应一个 end ,即有几个 if,记就应有几个 end。 2)switch-case结构 语法: switch 表达式 case常量表达式 1语句组 1 case常量表达式 2语句组 2otherwise 语句组 n end 说明:( 1) switch 后面的表达式可以是任

3、何类型,如数字、字符串等。2)当表达式的值与 case后面常量表达式的值相等时, 就执行这个 case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行 otherwise 后的执行语句。程序流程控制指令break 、 return 、 pause2、循环结构1)for 循环结构 语法:for i 初值:增量:终值 语句1 语句 nend说明:( 1) i初值:终值,则增量为 1。 (2)初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。2) while 循环结构 语法:while 逻辑表达式 循环体语句end说明:( 1) whiIe结构依据逻辑表达式

4、的值判断是否执行循环体语勾。若表达式的值为真, 执行循环体语句一次、在反复执行时,每次都要进行判断。若表达式的值为假,则 程序执行 end之后的语句。(2)为了避免因逻辑上的失误, 而陷入死循环, 建议在循环体语句的适当位置加 break 语句、以便程序能正常执行。(执行循环体的次数不确定;每一次执行循环体后, 一定会改变 while 后面所跟关系式的值。)(3) while循环也可以嵌套、其结构如下:while 逻辑表达式 1 循环体语句 1 while 逻辑表达式 2 循环体语句 2end 循环体语句 3end六、实验内容1、求下列分段函数的值。x2 x 6, x 0且 x 3yx2 5x

5、 6, 0 x 10,x 2且x 3x2 x 1 其他要求:(1) 用 if 语句实现,分别输出 x= -5.0, -3.0, 1.0, 2.0, 2.5, 3.0, 5.0 时的 y 值。 提示: x的值从键盘输入,可以是向量。(2)用逻辑表达式实现,从而体会 MATLAB逻辑表达式的一种应用。2、输入一个百分制成绩,要求输出成绩等级A,B,C,D,E 。其中 90100 分为 A,80 89分为 B,7079 分为 C,6069 分为 D,60 分以下为 E。要求:( 1)用 switch 语句实现。(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出错误信息。3、求 1100

6、的和。分别用循环结构和向量运算(使用sum函数)来实现。24、根据6112122312 L12 ,求 的近似值。当 n 分别取 100、1 000、10 000 n时,结果是多少?分别用循环结构和向量运算(使用sum 函数)来实现。5、 y 1113512n 1,求:1) y<3时的最大 n 值。(2)求( 1)的 n 值对应的 y值。6、用for循环语句实现编写一个求阶乘 n! 的函数文件。七、实验结果1)将“六”中每个内容认真完成以后,程序及运行结果复制到这部分。2)提交实验报告,命名“实验二学号姓名”1、求下列分段函数的值。2 xx6,x 0且 x 32 y x25x6,0 x 1

7、0,x 2且x 32 xx1其他要求:1) 用 if 语句实现,分别输出 x= -5.0, -3.0, 1.0, 2.0, 2.5, 3.0, 5.0 时的 y 值。 提示: x的值从键盘输入, 可以是向量。2)用逻辑表达式实现,从而体会 MATLAB逻辑表达式的一种应用。1)。syms x;x=input( ' 请输入数字 n' );if x<0 & x= -3y=x.2+x-6;else if x>=0 & x<10 & x=3 & x=2y=x.2-5*x+6;else y=x.2-x-1;endenddisp(y);请输

8、入数字-5.014请输入数字-3.011 请输入数字 1.02 请输入数字 2.01 请输入数字 2.5-0.2500 请输入数字 3.05 请输入数字 5.06是否可以输入 -5.0 -3.0 1.0 2.0 2.5 3.0 5.0a=input('please input your number:'); please input your number:1 2 3 4 5 6 2).sysm x zx=input( ' 请输入数字 n' );z=( x<0 & x= -3 ).*( x.2+x-6)+( x>=0 & x<1

9、0 & x=3 & x=2).*( x.2-5*x+6)+ (x=-3 2 3|x>=10).*(x.2-x-1);disp(z);2、输入一个百分制成绩,要求输出成绩等级A,B,C,D,E 。其中 90100分为 A, 80 89 分为 B, 70 79 分为 C, 6069 分为 D,60 分以下为 E。要求:( 1)用 switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出错误信息。x=input( ' 请输入数字 n' );switch xcase 90:100disp(A');case 80:89dis

10、p(B');case 70:79disp(C');case 60:69 disp(D');case 0:59disp(E');otherwisedisp( 输入数据有误! ');end3、求 1100的和。分别用循环结构和向量运算(使用sum函数)来实现。向量运算X=1:100; disp(sum(x); 循环结构: sum=0; for i 1:1:100;sum+= i;end disp(sum);211114、根据222L2,求 的近似值。当n分别取 100、1000、 10 000时,6122232n2结果是多少?分别用循环结构和向量运算(使用s

11、um函数)来实现。循环结构: n= input( ' 请输入数字 n' );sum=0;for i=1:1:nsum+=1/n.2;enddisp( 的值为 :'+sqrt(6.*sum);向量运算:n= input( ' 请输入数字 n' );i=1:n;disp( 的值为 :'+sqrt(6.*sum(1 /i.2);1 1 15、 y 1 L ,求:3 5 2n 1(1)y<3时的最大 n 值。y=1;n=1;max=1;while y<3n+;for i=1:ny+=1/(2.*n-1);endif y<3if n>maxmax=n;endend end disp(max);(2)求( 1)的 n 值对应的 y值。 x= input( &#

温馨提示

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

评论

0/150

提交评论