1.掌握建立和执行M文件的方法 2.熟练掌握M文件的结构 3.熟练掌握MATLAB程序流程控制结构 4.掌握各流程控制语句的用法 1、 使用程序流程控制 Fibonacci数列的各元素为:1、1、2、5、8……,满足以下关系: F1=1 F2=1 Fn=Fn-1+Fn-2 用M函数文件实现,数列的元素个数为输入变量。
按M函数文件格式创建文件开头。
function f=shiyan0501(n) %SHIYAN0501 Fibonacci %Fibonacci 数列 %n 元素个数 %f 构成Fibonacci数列向量用while循环实现程序功能。
f(1)=1;f(2)=1; i=2; while i<=n f(i+1)=f(i-1)+f(i); i=i+1; end在命令窗口输入调用命令,调用函数结果如下。
f=shiyan0501(10)f= 1 1 2 3 5 8 13 21 34 55 89
使用for循环实现
f(1)=1;f(2)=1; for i=2:n f(i+1)=f(i-1)+f(i); end当某个元素大于50时,退出循环结构,程序修改如下。
f(1)=1;f(2)=1; for i=2:n if f(i)>50 break else f(i+1)=f(i-1)+f(i); end end2、 编写M脚本文件,分别使用for和while循环语句计算I由1到10的II的值。
用for循环。 sum=0; for n=1:10 sum=n^n+sum end sum 用while循环 n=1; sum=0; while n<=10 sum=n^n+sum n=n+1; end3、 编制M脚本文件,要求从键盘逐个输入数值(input),然后判断输入的数是大于0 还是小于0,并输出提示(使用disp函数)是正数(positive one)还是负数(negative one),同时记录输入的正数、负数的个数。当输入0时,中止此M文件的运行;当输入第10个数字时,显示记录的正、负数个数并终止程序。
n=1;n1=0;n2=0; while n<=10 a=input(‘请输入数据:’); if a>0 disp(‘positive one’) n1=n1+1; elseif a<0 disp(‘negative one’) n2=n2+1; else break; end n=n+1; end disp(‘positive个数’) n1 disp(‘negative 个数’) n24、输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90分~100分为A,80 分89分为B,70分79分为C,60分~69分为D,60分以下为E。 要求: (1)分别用if语句和switch语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
grade=input('请输入成绩:'); %输入分数 degree=fix(grade/10); %分数对应层次 if grade<0|grade>100; %判别输入的成绩有效性 disp('非法输入,重新输入:'); else switch degree %判别成绩所处的层次 case {0,1,2,3,4,5} level='E'; case 6 level='D'; case 7 level='C'; case 8 level='B'; case {9,10} level='A'; end disp('成绩等级为:'); disp(level); end