第四章 循环结构

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

4.1 while循环

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


while expression 

  ... code block ...

end

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


while expr

  ...

end

我们将用while循环编写一个统计分析的程序。例4.1统计分析在科学工程计算中,跟大量的数据打交道是非常平常的事,这些数据中的每一个数据都是对我们关心的一些特殊值的度量。本课程的第一次测验的成绩就是一个简单的例子。每一个成绩都对某一个学生在本课程中学到多少东西的度量。

许多时候,我们并不关心某一个单个数据。我们可以通过总结得到几个重要的数据,以此告诉我们数据的总体情况。一组数据的平均数(算术平均值)和标准差。平均数的定义如下:

[ x- = \frac{1}{N} \sum_{i=1}^{N} x_i ]

其中( x_i )代表N个样本中的第i个样本。如果所有的输入数据都可以在一个数组中得到,这些数据的平均数就可以通过公式(4.1)直接计算出来,或应用MATLAB的内建函数mean。

标准差的定义如下:

对于如何使用while循环,你可能会感兴趣更多的语言实现方法。比如,你可以了解 Python循环结构——while循环详解,或是PHP循环–While循环。如果你是Java爱好者,那么 Java While循环和do_while循环用法 会是一个不错的选择。

是否觉得while循环的运用让你的代码更加优雅流畅?在不断迭代的过程中,发现代码的魅力,也许就是编程的乐趣所在!探索更多的编程语言中的循环结构,体验编程的魔力吧。