Matlab 第8讲循环语句
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for 语句的格式为:
for 循环变量=表达式1:表达式2:表达式3 循环体语句 end
8.1 for循环结构
例题1:利用for循环生成数组x,使得x(k)=k^2, (k=1:1:10)
>>for k=1:1:10 x(k)=k.^2;
end
8.1 for循环结构
多重for 语句的格式为: for 循环变量1=表达式1:表达式2:表达式3 循环体语句1 for 循环变量2 =表达式4:表达式5:表达式6 循环体语句2 ……. for循环变量n=……. 循环体语句n end …… end
Matlab 程序设计第8讲 循环语句
主讲人:王佐才 博士 研究员/博导
合肥工业大学土木与水利工程学院
提纲
for循环结构 break 和continue语句 while循环语句 隐含循环语句 循环语句综合运用例题讲解
8.1 for循环结构
循环是个将某个计算重复多次的结构。循环的每一次重复是一 遍循环的执行(pass)过程。MATLAB中有两类明确的循环 :for循环,在事先知道执行循环次数时使用;while循环是 当满足指定条件才终止时使用,因此其事先并不知道执行循环 的次数。
作业:教材161页,第1,2 3题。作业提交时间为第八讲讲完后 一个星期。
5050
8.4 隐含循环结构
隐含循环 许多MATLAB命令中都包含有隐含循环。例如,以下语句: x=[0:5:100]; y=cos(x); 要使用for循环达到相同的结果,用户必须输入以下语句: for k=1:21
x=(k-1)*5; y(k)=cos(x); end find命令式隐含循环的另外一个示例。语句y=find(x>0)等效于以下语句: m=0; for k=1:length(x) if x(k)>0
m=m+1; y(m)=k; end end
8.5 循环语句综合例题讲解
综合例题1 计算分段函数值 x=[-3:0.1:3]时的值,并画出
图形
源自文库
x , x0
e
1 2
ln(
x
1 x2 ),
x0
x0=[-3:0.1:3]; for i=1:1:length(x0)
x=x0(i); if x<=0
>>for k=1:10 x=50-k^2; if x<0 break end y=sqrt(x)
end % The program execution jumps to here(程序执行跳到这里) % if the break command is executed.(如果执行break命令)
8.2 break and continue
8.1 for循环结构
例题2:利用for循环生成而为数组A,使得A满足: (1)A为5*5的矩阵; (2)A(i, j)=i^2+j^2;
>>for i=1:1:5 for j=1:1:5 x(i,j)=i.^2+j.^2; end
end
8.2 break and continue
'break' 用在循环语句块中, 只要执行到break语句, Matlab就会退出该循 环, 但是它只能退出一层循环, 假如现在有内外两层循环, 在内层循环中 执行break只会退出内层的循环.break常和判断语句一起是使用。
8.5 循环语句综合例题讲解
a0=[1:100]; for j=1:99
for i=1:length(a0)-1 a(i)=a0(i)+a0(i+1);
end a0=[]; a0=a; a=[]; end a0
8.6 小结
本章主要讲解了for循环,break和continue函数,while循环, 以及隐含循环的使用。 循环结构是编写大型程序语句的一个最重要的句法结构之一, 需要同学们重点掌握。
y(i)=(x+sqrt(pi))/exp(1) else
y(i)=log(x+sqrt(1+x*x))/2; end end subplot(2,2,1) plot(x0,y,'r--*')
8.5 循环语句综合例题讲解
综合例题2:一个由若干行数字组成的数表,从第二行起每 一行中的数字均等于其肩上的两个数之和,最后一行仅有一 个数,第一行是前100个正整数从小到大排成行,则最后一 行的数是多少。
循环判断语句为某种形式的逻辑表达式。当表达式的值为真时 就执行循环体内的语句;否则退出。当循环判断语句为矩阵时 ,当且仅当所有的矩阵元素都非零时,逻辑表达式的值为真。
8.3 while循环结构
例3 用while循环求1~100间整数的和 >>sum=0;
i=1; while i<=100
sum=sum+i; i=i+1; end sum sum =
Continue语句它的作用是用在循环块中, 跳过当次循环中该语句之后的其 它语句, 继续下一次循环。注意它和break的不同, break是彻底退出循 环,而continue只是跳过本次循环的中该语句之后的那些语句, 下一次 轮循环照常执行。
>>x= [10,1000,-10,100]; y=NaN*x; for k=1:length(x) if x(k)<0 continue end y(k)=log10(x(k)); end y
其结果是:y=1、3、NaN和2。 这是使用了continue语句以避免计算一个负数的对数。
8.3 while循环结构
While循环语句与for循环语句不同的是,前者是以条件的满 足与否来判断循环是否结束的,而后者则是以执行次数是否达 到指定值来判断的。
while 循环语句的一般形式: while 循环判断语句 循环体 end
for 循环变量=表达式1:表达式2:表达式3 循环体语句 end
8.1 for循环结构
例题1:利用for循环生成数组x,使得x(k)=k^2, (k=1:1:10)
>>for k=1:1:10 x(k)=k.^2;
end
8.1 for循环结构
多重for 语句的格式为: for 循环变量1=表达式1:表达式2:表达式3 循环体语句1 for 循环变量2 =表达式4:表达式5:表达式6 循环体语句2 ……. for循环变量n=……. 循环体语句n end …… end
Matlab 程序设计第8讲 循环语句
主讲人:王佐才 博士 研究员/博导
合肥工业大学土木与水利工程学院
提纲
for循环结构 break 和continue语句 while循环语句 隐含循环语句 循环语句综合运用例题讲解
8.1 for循环结构
循环是个将某个计算重复多次的结构。循环的每一次重复是一 遍循环的执行(pass)过程。MATLAB中有两类明确的循环 :for循环,在事先知道执行循环次数时使用;while循环是 当满足指定条件才终止时使用,因此其事先并不知道执行循环 的次数。
作业:教材161页,第1,2 3题。作业提交时间为第八讲讲完后 一个星期。
5050
8.4 隐含循环结构
隐含循环 许多MATLAB命令中都包含有隐含循环。例如,以下语句: x=[0:5:100]; y=cos(x); 要使用for循环达到相同的结果,用户必须输入以下语句: for k=1:21
x=(k-1)*5; y(k)=cos(x); end find命令式隐含循环的另外一个示例。语句y=find(x>0)等效于以下语句: m=0; for k=1:length(x) if x(k)>0
m=m+1; y(m)=k; end end
8.5 循环语句综合例题讲解
综合例题1 计算分段函数值 x=[-3:0.1:3]时的值,并画出
图形
源自文库
x , x0
e
1 2
ln(
x
1 x2 ),
x0
x0=[-3:0.1:3]; for i=1:1:length(x0)
x=x0(i); if x<=0
>>for k=1:10 x=50-k^2; if x<0 break end y=sqrt(x)
end % The program execution jumps to here(程序执行跳到这里) % if the break command is executed.(如果执行break命令)
8.2 break and continue
8.1 for循环结构
例题2:利用for循环生成而为数组A,使得A满足: (1)A为5*5的矩阵; (2)A(i, j)=i^2+j^2;
>>for i=1:1:5 for j=1:1:5 x(i,j)=i.^2+j.^2; end
end
8.2 break and continue
'break' 用在循环语句块中, 只要执行到break语句, Matlab就会退出该循 环, 但是它只能退出一层循环, 假如现在有内外两层循环, 在内层循环中 执行break只会退出内层的循环.break常和判断语句一起是使用。
8.5 循环语句综合例题讲解
a0=[1:100]; for j=1:99
for i=1:length(a0)-1 a(i)=a0(i)+a0(i+1);
end a0=[]; a0=a; a=[]; end a0
8.6 小结
本章主要讲解了for循环,break和continue函数,while循环, 以及隐含循环的使用。 循环结构是编写大型程序语句的一个最重要的句法结构之一, 需要同学们重点掌握。
y(i)=(x+sqrt(pi))/exp(1) else
y(i)=log(x+sqrt(1+x*x))/2; end end subplot(2,2,1) plot(x0,y,'r--*')
8.5 循环语句综合例题讲解
综合例题2:一个由若干行数字组成的数表,从第二行起每 一行中的数字均等于其肩上的两个数之和,最后一行仅有一 个数,第一行是前100个正整数从小到大排成行,则最后一 行的数是多少。
循环判断语句为某种形式的逻辑表达式。当表达式的值为真时 就执行循环体内的语句;否则退出。当循环判断语句为矩阵时 ,当且仅当所有的矩阵元素都非零时,逻辑表达式的值为真。
8.3 while循环结构
例3 用while循环求1~100间整数的和 >>sum=0;
i=1; while i<=100
sum=sum+i; i=i+1; end sum sum =
Continue语句它的作用是用在循环块中, 跳过当次循环中该语句之后的其 它语句, 继续下一次循环。注意它和break的不同, break是彻底退出循 环,而continue只是跳过本次循环的中该语句之后的那些语句, 下一次 轮循环照常执行。
>>x= [10,1000,-10,100]; y=NaN*x; for k=1:length(x) if x(k)<0 continue end y(k)=log10(x(k)); end y
其结果是:y=1、3、NaN和2。 这是使用了continue语句以避免计算一个负数的对数。
8.3 while循环结构
While循环语句与for循环语句不同的是,前者是以条件的满 足与否来判断循环是否结束的,而后者则是以执行次数是否达 到指定值来判断的。
while 循环语句的一般形式: while 循环判断语句 循环体 end