zoukankan      html  css  js  c++  java
  • MATLAB的循环结构

     高质量学习资源免费获取,专注但不限于【Linux】【C/C++/Qt】【FPGA】【数据结构与算法】, 根据多年技术经验纯【原创】,纯【干货】,分享【技术心得】,力求【授人以鱼,更授人以渔】。

      循环结构有两种基本形式:while 循环和for 循环。两者之间的最大不同在于代码的重复是如何控制的。在while 循环中,代码的重复的次数是不能确定的,只要满足用户定义的条件,重复就进行下去。相对地,在for 循环中,代码的重复次数是确定的,在循环开始之前,我们就知道代码重复的次数了。

     while 循环:只要满足一定的条件,While 循环是一个重复次数不能确定的语句块。它的基本形如下

        while expression                                          ( 如果expression 的值非零(true),程序将执行代码块(code block),然后返回到while 语句
          ...                                                            执行。如果expression 的值仍然非零,那么程序将会再次执行代码。直到expression 的值变
          ...    。。。。code block                              为0,这个重复过程结束。当程序执行到while 语句且expression 的值为0 之后,程序将会
          ...                        执行end 后面的第一个语句。)
        end

        while 循环的伪代码为:
                while expr
                  ...
                  ...
                    ...
                end

      for循环:for 循环结构是另一种循环结构,它以指定的数目重复地执行特定的语句块。For 循环的形式如下

         for index = expr
            Statement 1           其中index 是循环变量(就是我们所熟知的循环指数),exp 是循环控制表达式。变量index其中index 是循环变量(就                    
            ... Body            。。。。。Body    是我们所熟知的循环指数),exp 是循环控制表达式。变量index读取的是数组expr 的行数,然后程序执行循环体                                            Statement n           (loopbody)所以expr 有多少列,循环体就循环多少次。expr 经常用捷径表达式的]方式,即first:incr:last。
         end

    在for 和end 之前的语句我们称之为循环体。在for 循环运转的过程中,它将被重复的执行。For 循环结构函数如下:
          1.在for 循环开始之时,MATLAB 产生了控制表达式
          2.第一次进入循环,程序把表达式的第一列赋值于循环变量index,然后执行循环体内的语句。
          3.在循环体的语句被执行后,程序把表达式的下一列赋值于循环变量index,程序将再一次执行循环体语句。
          4.只要在控制表达式中还有剩余的列,步骤3 将会一遍一遍地重复执行。我们要举大量的例子来说明for 循环的操作。

    在这里要注意运算的细节问题:没有必要缩进for 循环的循环体。即使所有语句都左对齐,MATLAB 程序也会识别出这个循环。但缩进循环体能增强代码的可读性,所以建议大家                               缩进循环体。

                    在for 循环中,我们不能随意修改循环指数。循环指数常被用作计算器,如果修改了它们将会导致一些奇怪而难以发现的错误.

                    在循环执行开始之前,总是要预先分配一个数组,这样能大大增加循环运行的速度。

                    那种既可以用向量可以解决的问题,也可以用循环解决的问题,最好用向量解决,这是因为向量执行的速度快。

    break 和continue 语句:  有两个附加语句可以控制while 和for 循环:break 和continue 语句。break 语句可以中止循环的执行和跳到end 后面的第一句执行,而                      continue 只中止本次循环,然后返回循环的顶部。如果break 语句在循环体中执行,那么体的执行中止,然后执行循环后的第一个可执行性语句.

    循环嵌套:  一个循环完全出现在另一个循环当中,这种情况经常发生。如果一个循环完全出现在另一个循环当中,我们称这两个循环为带嵌套的循环。

    逻辑数组与向量化: MATLAB 有两个基本类型的数据类型:数字型与字符型。数字型数据包括数字,字符型数据包含字符。除这两个数据类型之外,还有第三类数据类:逻辑型。

              “逻辑”数据类型在MATLAB 中并不真实存在。其实,它是带特定逻辑属性标准数字型数据类型。逻辑型数组通过所有的关系运算符和逻辑运算符创建。它

                        们区别于数字型的是在调用whos 命令时,(logical)会出现在类型的后面。  

    好的编程习惯总结:     1.对于for 循环体总是要缩进两个或更多空格,以增强程序的可读性。
                    2.在循环体中绝不修改循环指数的值。
                3.在循环执行开始之前,总是要预先分配一个数组。这样能大大增加循环运行的速度
                4.如果用可能的话,可用逻辑函数选择数组中的元素。如果逻辑数组进行运算,要比循环快得多。
                5.如果用可能的话,可用逻辑函数选择数组中的元素。如果逻辑数组进行运算,要比循环快得多。

    MATLAB 总结:
    break break       语句可以中止循环的执行和跳到end 后面的第一句执行
    continue continue      语句只中止本次循环,然后返回循环的顶部。
    for 循环             在for 循环中,代码的重复次数是确定的
    tic 函数          复位内建计时器
    toc 函数            从最后一次调用tic 以秒开始计时
    while 循环          while 循环中,代码的重复的次数是不能确定的,只要满足用户定义的条件,重复就进行下去

  • 相关阅读:
    设计模式——策略模式
    设计模式——设计原则
    设计模式——工厂模式
    设计模式——装饰模式
    C#一些常用方法
    设计模式——代理模式
    设计模式——模板模式
    开始博客园之前的一些相对自己说的话
    Python02 分支结构
    dns轮训python 04
  • 原文地址:https://www.cnblogs.com/lihuidashen/p/3339378.html
Copyright © 2011-2022 走看看