Page 106 - 数学建模算法与应用
P. 106

Mathematical Modeling Algorithms and Applications
             数学建模算法与应用


                  ■ 尽量避免更改已定义变量的数据类型和维度。
                  ■ 合理使用逻辑操作,防止陷入死循环。
                  ■ 尽量避免在不同类型的变量之间赋值,必要时使用中间变量来解决问题。

                  ■ 尽量使用实数运算,复数运算可以转换为多个实数进行运算。
                  ■ 尽量将运算转换为矩阵运算。
                  ■ 尝试使用 MATLAB 的加载和保存命令,而不是对文件使用文件 I/O 操作。
                  以上建议仅供参考,用户可以根据不同的应用场景进行选择。有时为了实现

             复杂的功能,不可能考虑所有这些要求。程序的效率优化通常结合 MATLAB 的
             优点。由于 MATLAB 的优势在于矩阵运算,建议尽可能将其他数值运算转换为
             矩阵运算。MATLAB 中处理矩阵运算的效率比简单的算术运算更高。


                 四、 内存优化

                  对于一些普通用户来说,内存优化可能不是一个问题,因为随着计算机的发
             展,内存容量已经能够满足大多数数学运算的要求,而 MATLAB 本身为计算机
             内存优化提供了有限的操作支持。内存优化只有在遇到大规模操作时才能有效。

             这里有几个常见的内存操作函数,可以在需要时使用。
                  ■ whos———查看当前内存使用状况函数。
                  ■ clear———删除变量及其内存空间,可以减少程序的中间变量。
                  ■ save———将某个变量以 mat 数据文件的形式存储到磁盘中。

                  ■ load———载入 mat 数据到内存空间。
                  由于在函数执行过程中内存操作函数的使用率较低,合理优化内存操作通常
             取决于用户在编写程序时养成的习惯和经验,如以下方法。
                  ■尽量确保变量创建的集中化,最好在函数的开头。

                  ■对于包含许多零元素的大型矩阵,尽量将其转换为稀疏矩阵。
                  ■及时清除占用大量内存的临时中间变量。
                  ■尽量减少新内存的创建,而是重用它。

                  算法优化的一般要求不仅是在形式上尽可能简化步骤,更重要的是能够以最
             小的时间和空间复杂度完成所需的计算。这包括巧妙地设计程序流程,灵活地控
             制循环过程(例如及时跳出循环或结束当前循环),更好的搜索方法,以及正确
             的搜索对象以避免不必要的计算过程。例如,在确定一个整数是否是素数时,可



             96
   101   102   103   104   105   106   107   108   109   110   111