文档介绍:和其他语言一样,MATLAB的程序结构也不外三种:顺序结构、分支结构和循环结构。
5、程序结构和流程控制
顺序结构
顺序结构即指顺序往下执行的程序语句结构,其实也就是一组复合的表达式。在MATLAB中,表达式之间可以用分号、逗号或换行来分隔。。
分支结构
1、MATLAB的分支结构
2、分支结构的语句形式及实例
分支结构就是由逻辑判断决定程序执行流转方向的一种结构。。
第一类分支结构采用的语句形式有3种:
if 表达式
语句组1
end
if 表达式
语句组1
else
语句组2
end
if 表达式 A
语句组1
elseif 表达式B
语句组2
else
语句组3
end
注意:除直接应用上述三种形式外,第3种结构可扩展,if 还可以嵌套。
举例:
输入数n,判断其奇偶性。
程序式书写法:*
n=input(‘n=’);
if rem(n,2)==0
A=‘even’
else
A=‘odd’
end
更完善的程序式书写法:
n=input(‘n=’);
if isempty(n)==1
A=‘empty’
elseif rem(n,2)==0
A=‘even’
else
A=‘odd’
end
命令行书写法:
n=input(‘n=’); if isempty(n)==1 A=‘empty’, elseif rem(n,2)==0;
A=‘even’,else, A=‘odd’, end
写程序,判断某一年是否闰年*。
C语言程序:
main()
{ int year,leap;
scanf(“%d”,&year);
if(year%4==0)
{if(year%100==0)
{if(year%400==0)
leap=1;
else leap=0;}
else
leap=1;}
else
leap=0;
if(leap)
printf(“%d is”,year);
else
printf(“%d is not”,year);
printf(“a leap year.\n”);}
MATLAB程序:
year=input('year=');
if rem(year,4)==0
if rem(year,100)==0
if rem(year,400)==0
leap=1;
else
leap=0; end
else
leap=1; end
else
leap=0; end
if leap
display('is a leap year')
else
display('is not a leap year')
end
switch 表达式
case 值1
语句组1
case 值2
语句组2
……
otherwise
语句组n
第二类分支结构采用的语句形式如下:
注意:switch后的表达式的结果值,通常为标量或字符串。
举例:
。
程序式书写法:
n=input(‘n=’);
switch mod(n,2)*
case 1
A=‘奇’
case 0
A=‘偶’
otherwise
A=‘空’
end