实验二matlab的程序设计.doc

上传人:xin****828 文档编号:6716393 上传时间:2020-03-02 格式:DOC 页数:6 大小:55KB
返回 下载 相关 举报
实验二matlab的程序设计.doc_第1页
第1页 / 共6页
实验二matlab的程序设计.doc_第2页
第2页 / 共6页
实验二matlab的程序设计.doc_第3页
第3页 / 共6页
点击查看更多>>
资源描述
实验二 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 语句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 语句组2 otherwise 语句组n end 说明:(1)switch后面的表达式可以是任何类型,如数字、字符串等。(2)当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。程序流程控制指令break、return、pause 2、循环结构 1)for循环结构语法:for i初值:增量:终值 语句1 语句n end 说明:(1)i初值:终值,则增量为1。 (2)初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。2)while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:(1)whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达式的值为假,则程序执行end之后的语句。(2)为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。) (3)while循环也可以嵌套、其结构如下: while逻辑表达式1 循环体语句1 while逻辑表达式2 循环体语句2 end 循环体语句3 end 六、实验内容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,8089分为B,7079分为C,6069分为D,60分以下为E。要求:(1)用switch语句实现。(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出错误信息。3、求1100的和。分别用循环结构和向量运算(使用sum函数)来实现。4、根据,求的近似值。当n分别取100、1 000、10 000时,结果是多少?分别用循环结构和向量运算(使用sum函数)来实现。5、,求:(1)y3时的最大n值。(2)求(1)的n值对应的y值。6、用for循环语句实现编写一个求阶乘n!的函数文件。七、实验结果1)将“六”中每个内容认真完成以后,程序及运行结果复制到这部分。2)提交实验报告,命名“实验二学号姓名”1、求下列分段函数的值。 要求: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 & x10 & x=3 & x=2 y=x.2-5*x+6; else y=x.2-x-1; endenddisp(y);请输入数字-5.014请输入数字-3.0 11请输入数字1.0 2请输入数字2.0 1请输入数字2.5 -0.2500请输入数字3.0 5请输入数字5.0 6是否可以输入-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 62).sysm x zx=input(请输入数字n);z=( x=0 & x=10).*(x.2-x-1);disp(z);2、输入一个百分制成绩,要求输出成绩等级A,B,C,D,E 。其中90100分为A,8089分为B,7079分为C,6069分为D,60分以下为E。要求:(1)用switch语句实现。(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出错误信息。x=input(请输入数字n);switch xcase 90:100 disp(A);case 80:89 disp(B); case 70:79 disp(C);case 60:69 disp(D);case 0:59 disp(E);otherwisedisp(输入数据有误!);end3、求1100的和。分别用循环结构和向量运算(使用sum函数)来实现。向量运算 X=1:100;disp(sum(x);循环结构:sum=0;for i1:1:100; sum+=i;enddisp(sum);4、根据,求的近似值。当n分别取100、1 000、10 000时,结果是多少?分别用循环结构和向量运算(使用sum函数)来实现。循环结构:n= input(请输入数字n);sum=0;for i=1:1:n sum+=1/n.2;enddisp(的值为:+sqrt(6.*sum);向量运算:n= input(请输入数字n);i=1:n;disp(的值为:+sqrt(6.*sum(1/i.2);5、,求:(1)y3时的最大n值。y=1;n=1;max=1;while y3n+;for i=1:n y+=1/(2.*n-1);endif ymax max=n; endendenddisp(max);(2)求(1)的n值对应的y值。x= input(请输入数字n);y=0;for i=1:ny+=1/(2.*n-1);enddisp(y);6、用for循环语句实现编写一个求阶乘n!的函数文件。Script:function mult=f(n)mult=1;for i=1:n mult*=n;end 保存为factorial.m factorial.(n);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!