matlab——for循环

简单for循环

for循环用来循环处理数据。
例:输出1~100的和

>> clear
>> sum = 0;
>> for i = 1:100
       sum = sum +i;
   end
>> sum

sum =

        5050

解释:i从1到100,每次增加一个,该共循环100次
注意:分号的位置;不能使用“+=”符号;每写一层循环,必须以end结尾

带有步长的for循环

例:输出1到10之间的奇数和


>> clear
>> sum = 0;
>> for i = 1:2:10
       sum = sum + i;
   end
>> sum

sum =

    25

解释:i = 1:2:10中间的2表示步长,表示从1到10,每次增加2,即1,3,5,7,9五个数之和;步长也可以为负数

对向量和矩阵的遍历

  1. 对向量的遍历
>> clear
>> A = rand(1,4);
>> for i = A
       i
   end

i =

    0.9572


i =

    0.4854


i =

    0.8003


i =

    0.1419

解释:rand函数用于随机生成0~1之间的数,rand(1,4)生成1*4的列向量。

  1. 对矩阵的遍历
>> A = magic(4);
>> A

A =

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

>> for i = A;
       i
   end

i =

    16
     5
     9
     4


i =

     2
    11
     7
    14


i =

     3
    10
     6
    15


i =

    13
     8
    12
     1

解释:magic(n)函数用于生成任意一行或一列或主副对角线之和相等的方阵,对矩阵的循环遍历是依次取出矩阵中的每一列元素

break和continue的使用

break用于终止离它最近的一层for循环;
continue用于跳过离它最近的一层for循环,接着执行下一次循环

>> x = 1;
>> for i = 1:2:10
       if i > 7
          break
       else
          x = x* i
       end
   end

x =

     1


x =

     3


x =

    15


x =

   105
>> sum = 0;
>> for i = 1:6
       if i == 4
          continue
       else
          sum = sum + i
       end
   end;

sum =

     1


sum =

     3


sum =

     6


sum =

    11


sum =

    17

多层for循环

for循环可以按照需要进行嵌套。

>> for i = 1:2:6
       for j = 1:3
           y = i * j
       end
   end

y =

     1


y =

     2


y =

     3


y =

     3


y =

     6


y =

     9


y =

     5


y =

    10


y =

    15

  • 200
    点赞
  • 890
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
程序代码说明 P0201:MATLAB赋值 P0202:MATLAB中的for循环 P0203:MATLAB中的for循环和if条件 P0205:MATLAB图像处理的基本操作 P0206:MATLAB高级图像处理操作 P0207:根据RGB图像创建一幅灰度图像 P0208:二值图像的取反操作 P0209:用imshow函数显示图像 P0210:在同一个窗口内显示两幅图像 2.rar (15.23k) 程序代码说明 P0301:数字图像矩阵数据的显示及其傅立叶变换 P0302:二维离散余弦变换的图像压缩 P0303:采用灰度变换的方法增强图像的对比度 P0304:直方图均匀化 P0305:模拟图像受高斯白噪声和椒盐噪声的影响 P0306:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波 P0307:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 P0308:图像的自适应魏纳滤波 P0309:运用5种不同的梯度增强法进行图像锐化 P0310:图像的高通滤波和掩模处理 P0311:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 P0312:利用巴特沃斯(Butterworth)高通滤波器对图像进行锐化处理 程序代码说明 P0401:用Prewitt算子检测图像的边缘 P0402:用不同σ值的LoG算子检测图像的边缘 P0403:用Canny算子检测图像的边缘 P0404:图像的阈值分割 P0405:用水线阈值法分割图像 P0406:对矩阵进行四叉树分解 P0407:将图像分为文字和非文字的两个类别 P0408:形态学梯度检测二值图像的边缘 P0409:形态学实例——从PCB图像中删除所有电流线,仅保留芯片对象 程序代码说明 P0502:计算图像中的欧拉数 程序代码说明 P0610:神经网络的实例
MATLAB中,默认情况下,for循环的步长是1,即每次循环增加1。但是你也可以通过指定步长来改变循环的增量。例如,通过在循环语句中使用一个较大的增量值,你可以实现跳过一些迭代。所以在MATLAB中,for循环的步长可以是任意整数值,包括2。这样,每次循环都会增加2。你可以通过在for循环语句中指定步长为2来实现这个效果。例如: for i = 1:2:10 % 循环体 end 这个循环将从1开始,每次增加2,直到达到或超过10为止。这样,循环将执行的值为1、3、5、7、9。所以在这个例子中,for循环的步长就是2。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [matlab——for循环](https://blog.csdn.net/denglavender/article/details/102649093)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [MATLAB两个for循环问题,循环步长和步数不一样](https://blog.csdn.net/weixin_35502173/article/details/115811155)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值