一篇文章讲明白MATLAB循环结构

简介: 一篇文章讲明白MATLAB循环结构

目录

1、for语句

注意事项

(1)for语句针对行向量的每一个元素执行一次循环语句体,循环的次数就是向量中元素的个数,也可以针对任意向量。

(2)可以在for循环语句体中修改循环变量的值,当程序执行流程再次回到循环开始时,就会自动被设成向量的下一个元素。

(3)for语句中的3个表达式只在循环开始时计算一次,也就是说,向量元素一旦确定将不会再改变。如果表达式中含有变量,即使在循环体中改变变量的值,向量的元素也不改变。

(4)退出循环之后,循环变量的值就是向量中最后的元素值。

(5)当向量为空时,循环体一次也不执行。

基础例题

(1)水仙花数

(2)迭代求和

(3)梯形法求定积分

循环结构的基本思想就是重复,重复执行某些语句,以满足大量的计算要求。虽然每次循环执行的语句相同,但语句中一些变量的值是变化的,而且当循环到一定次数或满足条件后能结束循环。

MATLAB提供了两种实现循环结构的语句:for语句和while语句。

1、for语句

一般情况下,对于事先能确定循环次数的循环结构,使用for语句是比较方便的。for语句的格式如下:

for 循环变量=表达式1:表达式2:表达式3

循环语句体

end

其中,“表达式1:表达式2:表达式3”是一个冒号表达式,将产生一//代码效果参考:http://www.ezhiqi.com/zx/art_3228.html个行向量,3个表达式分别代表初值、步长和终值。步长为1时,表达式2可以省略。

注意事项

关于for循环的执行过程还要说明以下几点。

(1)for语句针对行向量的每一个元素执行一次循环语句体,循环的次数就是向量中元素的个数,也可以针对任意向量。

for k=【1,3,2,5】

k

end

k =

1

k =

3

k =

2

k =

5

(2)可以在for循环语句体中修改循环变量的值,当程序执行流程再次回到循环开始时,就会自动被设成向量的下一个元素。

for k=【1,3,2,5】

k

k=20

end

k =

1

k =

20

k =

3

k =

20

k =

2

k =

20

k =

5

k =

20

(3)for语句中的3个表达式只在循环开始时计算一次,也就是说,向量元素一旦确定将不会再改变。如果表达式中含有变量,即使在循环体中改变变量的值,向量的元素也不改变。

n=2;

] for k=1:2:n+8

n=5;

k

end

k =

1

k =

3

k =

5

k =

7

k =

9

(4)退出循环之后,循环变量的值就是向量中最后的元素值。

for k=1:2:10

end

k

k =

9

(5)当向量为空时,循环体一次也不执行。

for k=1:-2:10

k

end

基础例题

(1)水仙花数

例,一个三位整数各位数字的立方和等于该数本身则称为水仙花数。输出全部水仙花数。

程序如下:

shu=【】; %用于存放结果,先赋空值

for m=100:999

m1=fix(m/100); %求m的百位数

m2=rem(fix(m/10),10); %求m的十位数

m3=rem(m,10); %求m的个位数

if m==m1m1m1+m2m2m2+m3m3m3

shu=【shu,m】; %存放结果

end

end

disp(shu)

运行如下:

Untitled444

153 370 371 407

(2)迭代求和

例:已知

当n=100时,求y的值。

程序如下:

y=0; %设置迭代初值

n=100; %设置迭代次数

for i=1:n %设置迭代变量i

y=y+1/(ii); %由递推式设置迭代求和

end

y %输出迭代终值

运行如下;

Untitled357

y =

1.6350

(3)梯形法求定积分

例,设

程序如下:

a=0;

b=3pi;

n=1000;

h=(b-a)/n;

x=a;

s=0;

f0=exp(-0.5x)sin(x+pi/6);

for i=1:n

x=x+h; %下一个x坐标

f1=exp(-0.5x)sin(x+pi/6); %下一个函数值

s=s+(f0+f1)*h/2; %求小梯形面积并更新总面积

f0=f1; %更新函数值

end

s

运行如下:

Untitled4364

s =

0.9008

相关文章
|
移动开发 安全 数据挖掘
(文章复现)梯级水光互补系统最大化可消纳电量期望短期优化调度模型matlab代码
参考文献: [1]罗彬,陈永灿,刘昭伟等.梯级水光互补系统最大化可消纳电量期望短期优化调度模型[J].电力系统自动化,2023,47(10):66-75.
|
运维 算法 调度
(文章复现)建筑集成光储系统规划运行综合优化方法matlab代码
参考文献: [1]陈柯蒙,肖曦,田培根等.一种建筑集成光储系统规划运行综合优化方法[J].中国电机工程学报,2023,43(13):5001-5012.
|
算法 决策智能
(文章复现)售电市场环境下电力用户选择售电公司行为研究(附matlab代码)
售电市场放开是我国售电侧改革的发展方向,竞争性售电市场中用户选择权放开,用户选择结果直接影响售电公司的市场份额,进而影响售电公司的售电策略。分析了售电市场环境下影响用户选择售电公司的因素,考虑不同类型用户的用电特性,计及可中断负荷、用户分布式可再生能源的影响,基于层次分析法建立用户效用模型,在此基础上,采用演化博弈理论分析用户选择过程,基于 logit 修正协议构建了不同类型用户群体选择售电公司的多群体动态演化模型,给出了模型的求解算法并证明了模型稳定性。算例分析验证了所提模型和算法的有效性。
|
算法 调度
(文章复现)基于灰狼算法(GWO)的交直流混合微网经济调度matlab代码
参考文献: [1]高瑜,黄森,陈刘鑫等.基于改进灰狼算法的并网交流微电网经济优化调度[J].科学技术与工程, 2020,20(28):11605-11611. [2]邓长征,冯朕,邱立等.基于混沌灰狼算法的交直流混合微网经济调度[J].电测与仪表, 2020, 57(04):99-107.
|
算法 调度
(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码
在灾害发生后,配电网失去主网供电,设故障的持续时间可根据灾害强度和抢修资源数量做出预测。以故障持续时间内负荷削减功率加权值最小为目标,建立多源协同的灾后恢复优化模型,通过动态调度移动储能、电动汽车与柴油发电机,最大限度提升配电网韧性
|
算法 调度
(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(1)-灾前布局matlab代码
针对极端灾害导致配电网大面积停电场景,利用多种分布式资源协同恢复重要负荷。在电网与交通网融合背景下,提出了一种考虑移动储能预布局与动态调度的两阶段配电网韧性提升策略。在灾前预防阶段,考虑光伏出力不确定性与网络重构建立两阶段鲁棒优化模型,采用 Big-M 法和列约束生成算法迭代求解移动储能的配置数量与位置方案。通过 IEEE 33 节点配电系统算例验证了所提策略提升配电网韧性的有效性。
【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )(三)
【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )(三)
118 0
【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )(三)
【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )(二)
【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )(二)
175 0
【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )(二)
【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )(一)
【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )(一)
360 0
【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )(一)
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
199 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码