



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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语句 1else if表达式 2
2、( 可选 )语句 2else( 可选 )语句 3endend说明:( 1) if 结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出 if 结构。( 2) else if 表达式 2与 else 为可选项,这两条语句可依据具体情况取舍。( 3)注意:每一个 if 都对应一个 end,即有几个 if ,记就应有几个 end。2)switch-case结构语法:switch 表达式case 常量表达式 1语句组 1case 常量表达式 2语句组 2otherwise语句组 nend说明:( 1) switch 后面的表达式可以是任何类型,如数字、字符串等。1。( 2)当表达式
3、的值与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、求下列分段函数的值。x2x6,x且x 30y x25x6,0x且10, x 2 x 3x2x1其他要求:(1)用 if语句实现,
5、分别输出x= -5.0, -3.0, 1.0, 2.0, 2.5, 3.0, 5.0时的 y 值。提示: x的值从键盘输入,可以是向量。2。(2)用逻辑表达式实现,从而体会MATLAB逻辑表达式的一种应用。2、输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中 90 100 分为 A, 8089 分为 B,70 79 分为 C, 6069 分为 D, 60 分以下为 E。要求:( 1)用 switch 语句实现。( 2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出错误信息。3、求 1 100的和。分别用循环结构和向量运算(使用sum函数)来实现。211114、根据的近似
6、值。当 n 分别取 100、1 000、10 0002222n2 ,求613时,结果是多少?分别用循环结构和向量运算(使用sum 函数)来实现。5、 y 1 111,求:352n1( 1) y3 时的最大 n 值。( 2)求( 1)的 n 值对应的 y 值。6、用 for 循环语句实现编写一个求阶乘n! 的函数文件。七、实验结果1)将“六”中每个内容认真完成以后,程序及运行结果复制到这部分。2)提交实验报告,命名“实验二学号姓名”1、求下列分段函数的值。x2x6,x且x 30yx25x6,0x且310, x 2 xx2x1其他要求:1) 用 if语句实现,分别输出x= -5.0, -3.0,
7、1.0, 2.0, 2.5, 3.0, 5.0时的 y 值。提示: x的值从键盘输入,可以是向量。2)用逻辑表达式实现,从而体会MATLAB逻辑表达式的一种应用。1)。syms x;x=input(请输入数字n);if x=0 & x10 & x=3 & x=2y=x.2-5*x+6;else y=x.2-x-1;endenddisp(y);请输入数字-5.014。3。请输入数字-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 i
8、nput your number:);please input your number:1 2 3 4 5 62).sysm x zx=input(请输入数字n);z=( x=0 & x=10).*(x.2-x-1); disp(z);2、输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中 90 100 分为 A,8089 分为 B, 7079 分为 C, 60 69 分为 D, 60 分以下为 E。要求:( 1)用 switch 语句实现。( 2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出错误信息。x=input(请输入数字n);switch xcase 90:10
9、0disp(A);case 80:89disp(B);case 70:79disp(C);case 60:69disp(D);case 0:59disp(E);。4。otherwisedisp( 输入数据有误!);end3、求 1 100的和。分别用循环结构和向量运算(使用sum函数)来实现。向量运算X=1:100;disp(sum(x);循环结构:sum=0;for i 1:1:100;sum+=i;enddisp(sum);21114、根据1的近似值。当 n分别取 100、 1 000 、 10 000 时,22232n2 ,求61结果是多少?分别用循环结构和向量运算(使用sum函数)来实
10、现。循环结构: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);5、 y 1 111,求:352n1( 1) y3 时的最大n 值。y=1;n=1;max=1;while y3n+;for i=1:ny+=1/(2.*n-1);endif ymaxmax=n;end。5。endenddisp(max);( 2)求( 1)的 n 值对应的y 值。x= input(请输入数字 n);y=0;for i=1:ny+=1/(2.*n-1);enddisp(y);6、用 for 循环
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论