3、701_1.m]%exm0701_1.ma=2;b=2;%<2>clf;x=-a:0.2:a;y=-b:0.2:b;fori=1:length(y)forj=1:length(x)ifx(j)+y(i)>1z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));elseifx(j)+y(i)<=-1z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));1elsez(i,j)=0.7575*exp(-y(i)^2-
4、6.*x(j)^2);endendendaxis([-a,a,-b,b,min(min(z)),max(max(z))]);colormap(flipud(winter));surf(x,y,z);(((2)))exm0701_1图7.1-2【例7.1-2】通过M函数文件画出上例分段函数的曲面。exm0701_2(2,2)7.2M文本编辑器7.3MATLAB控制流7.3.1for循环结构【例7.3.1-1】一个简单的for循环示例。fori=1:10;x(i)=i;end;xx=123456789107.3.2w
5、hile循环结构【例7.3.2-1】Fibonacci数组的元素满足Fibonacci规则:a=a+a,(k=,2,1);k+2kk+1且a=a=1。现要求该数组中第一个大于10000的元素。12a(1)=1;a(2)=1;i=2;whilea(i)<=10000a(i+1)=a(i-1)+a(i);i=i+1;end;2i,a(i),i=21ans=109467.3.3if-else-end分支结构【例7.3.3-1】一个简单的分支结构。cost=10;number=12;ifnumber>8sums=num
6、ber*0.95*cost;end,sumssums=114.0000【例7.3.3-2】用for循环指令来寻求Fibonacc数组中第一个大于10000的元素。n=100;a=ones(1,n);fori=3:na(i)=a(i-1)+a(i-2);ifa(i)>=10000a(i),break;end;end,ians=10946i=217.3.4switch-case结构【例7.3.4-1】学生的成绩管理,用来演示switch结构的应用。clear;%fori=1:10;a{i}=89+i;b{i}=79+
7、i;c{i}=69+i;d{i}=59+i;end;c=[d,c];Name={'Jack','Marry','Peter','Rose','Tom'};Mark={72,83,56,94,100};Rank=cell(1,5);%S=struct('Name',Name,'Marks',Mark,'Rank',Rank);%fori=1:5switchS(i).Markscase100S(i).Rank='满分';caseaS(i).Rank='优秀';casebS(i).Rank='良好';casecS(i)
8、.Rank='及格';otherwiseS(i).Rank='不及格';3endend%disp(['学生姓名','得分','等级']);disp('')fori=1:5;disp([S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank]);end;学生姓名得分等级Jack72及格Marry83良好Pete