一、循环
(1)for循环
用于已知循环的次数的循环,步长值默认为1
for i=n:a:m %i为循环变量,n为起始值,a为步长值,m为终止值
循环体
end
(2)while循环
用于循环次数未知的循环。当表达式成立时执行循环,然后再次判断表达式,成立则执行,不成立则退出循环
while 表达式
循环体
end
二、分支结构
if分支结构
对命令执行时,若判断式1成立,则执行命令1,若不成立,则对判断式2进行判断,成立则执行命令2,若不成立则执行命令3
if 判断式1
命令1
elseif 判断式2
命令2
else 命令3
三、实例
(1)对角矩阵的赋值 a=1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
for
i=1
for i=1:5;
a(i,i)=i;
i=i+1;
end
a
while
i=1
m=5
while i<=m;
a(i,i)=i;
i=i+1;
end
a
(2)求和
求1到100,公差为1,这个数列的和
for
sum=0
for i=1:100;
sum=sum+i;
end
sum
while
i=1
sum=0
while i<=100;
sum=sum+i;
i=i+1;
end
sum
(3)阶乘
计算10的阶乘
for
a=1
for i=1:10
a=a*i
end
while
i=1
a=1
while i<=10
a=a*i
i=i+1
end
(4)求线性方程的解
计算f(x)=x^2,x范围在0到7的闭区间,x每次递增1
x=1;
m=7;
y=[]
while x<=m
f=x^2
y=[y f]
x=x+1
end
f
y
(5)在数组中找最大,最小值
找数组a=[5,8,18,2,6]的最大值
a=[5,8,18,2,6]
max=a(1)
for i=2:5
if max<=a(i)
max=a(i)
end
end
max
(6)按大到小或小到大排列数组
按小到大排列数组a=[5,8,18,2,6]
a=[5,8,18,2,6]
a(1)=max
for i=1:4;
for j=i+1:5;
if a(i)>a(j);
max=a(i);
a(i)=a(j);
a(j)=max;%if循环的这串代码的意思是,将大的数与小的数进行交换
end
end
end
a